1、为何使用git?
一、很是有利于本身知识和经验的积累
二、可以经过git展现工做经验和分享交流本身的项目
三、可以经过git管理团队和项目
2、为何选git?
一、好用
二、无缝的提交到github等平台linux
3、git和github的关系?
git是一个版本控制工具
github是一个用git作版本控制的项目托管平台。
4、git 几个重要的概念
这里类比一下
仓库(书店):全部版本的代码都在仓库(全部版本的《×××》都在书店里)
分支(书架):不一样功能功能的代码存放的地方(我把《×××》插图版和古装版放在不一样的书架,这样能够互不干扰)
提交(书):每个版本的代码 (《×××》插图版 初版印刷,第二版印刷……)
5、核心重点基础内容怎么玩
官网:https://git-scm.com/ git是能够装在本身电脑或者服务器的:git
一、新建一个文件夹helloGit,进入
二、右键gitBash,建立仓库,
git init
三、建立一个a.txt,打开里面内容随便造。
四、输入
git status
看一下git的状态,这个命令牛掰之处就是告诉你接下来该怎么作,人家说了你没把a.txt交给仓库去管。
五、将全部文件加入到缓存区(至关于你把文件交给管理员了),
git add .
六、将文件 提交到仓库(管理员把你的文件扔仓库里了),
git commit -m '这里是写点注释,省的你不知道本身提交了什么内容,这是第一次提交'
这样一次提交就完成了,
七、打开a.txt 随便加点内容,继续造,而后
git add .
git commit -m '第二次提交'
八、咱们看看咱们提交了几个版本,
git log
这里咱们提交的两次就看到了,并且能看到commit后面的id 。我要想回到第一次提交怎么办?
git checkout c0f259e284a27c1871562631bd9753d46f5798bb
打开a.txt 看看,回到第一个版本了。到如今你已经会了,提交多个版本,回滚到某个版本。我想回到上一个版本老找id忒费事,能够用这个
git checkout -- .程序员
6、说点进阶的玩法-分支
你们考虑这么一个状况,假如你是angularjs开发团队,你想angular2.0基于angularjs开发,可是有特别大的革命性变化,你说怎么办好?
这时候你看这样合不合理,我分一部分人负责原angularjs的基础维护和平滑升级,而后复制一份angularjs让另一个团队进行革命性开发,这样两个团队都不互相干扰,等2.0的功能开发完成了,我再融合到原来的angularjs里面去。这个就是分支的功能。
我先复制一份原来的东西,开一个新的分支
git checkout -b new-fenzhi
咱们看看如今有几个分支,
git branch
你们能够看到这里有两个分支,一个master,一个new-fenzhi,
新建b.txt的内容,而后
git add .
git commit -m '我在新分支上糟蹋的'
注意,这时候咱们删除b,咱们回到master分支,看看它影响master不,
git checkout master
git log
你们能够看到 根本就没有影响master,master下是没有b.txt 咱们假设搞完了,把git new-fenzhi的东西合并回master怎么作,
git merge new-fenzhi
这样就合并回去了。
7、说下git和github一块儿玩。
一、最简单把github项目搞下来
git clone xxxxx.git
二、提交到github,第一次这么作
git remote add origin https://github.com/breaddream/helloGit.git
git push -u origin master
这里注意,若是提示orgin 已经存在,就先把远程的仓库删除再执行,
git remote rm origin
第二次之后这么作,
git push
8、后续学习
上面这些适合我的开发者,若是你是一个部门主管,那么你就要会搭建内网git服务器,由于公司项目有保密性要求,是不可能让你随便往git上传的。
若是团队很小,你本身搭建就ok了进行权限管理,若是公司已经有必定规模好比100人团队,就须要有linux程序员进行严格的权限管理了,尤为对源代码有很高保密性要求的公司,甚至员工的修改和操做都会有记录。angularjs