常用命令及说明如下:
操作 | 说明 |
Fetch | 从远程获取最新版本到本地不会自动merge |
Merge | 可以把一个分支、标签或某个commit的修改合并到现在的分支上 |
Pull | 从远程获取最新版本并与本地代码合并相当于fetch+merge |
Push | 将本地分支的更新推送到远程主机 |
Commit | 将修改提交到本地仓库中 |
一、创建仓库
1、创建仓库很简单,在文件夹上右击->Git Create repository here…即可。
2、如果创建仓库时仓库对应的文件夹中有文件,那Git Create repository here…之后还要Commit一下。
3、创建本地仓库后,如果只想删除仓库,而不删除对应的物理文件时,可以通过删除仓库中隐藏的.git文件夹来实现。
二、Clone仓库
Git Clone操作克隆的是所选仓库当前分支的内容,如果当前分支不是主分支master,而是分支BranchA,那Git Clone操作克隆的就是BranchA中的内容。
三、查看修改记录
我们打开本地仓库中的项目文件,对其进行编辑然后Commit,就会在Log中产生提交记录,我们可以查看每次Commit所提交的文件,及每个文件产生的变化。
四、版本回溯
1、我们每编辑+Commit一次,仓库就会生成一个新版本,假设第一次提交时仓库为版本A,然后根据提交顺序依次生成版本B、C、D、E、F,当前版本为版本F,如果此时想得到版本C的内容,那可以使用版本回溯Reset+克隆Clone这一组合。 对于中文版,路径为:显示日志-选中对应版本记录右键-还原此版本做出的变更。
由版本F回溯到版本C后,仓库中的物理文件并没有变成版本C的内容,依然是版本F的内容,如此设计使仓库从版本F降到C,再从版本C回到D、E或F成为可能,不过此时在其他地方Clone时获取到的是版本C的内容。
回溯到“添加EditTwo.cs”版本后,在GitUser文件夹Clone所得内容截图如下:
2、本地仓库由版本F回溯到版本C后再回到版本F,物理文件其实没有发生一点变化;如果本地仓库由版本F回溯到版本C后,直接Commit “Working tree changes”那版本D、E、F会合并成新版本D,不过此时新版本D相当于旧版本的F。
3、版本回溯操作只记录在RefLog日志中,在Log日志中不体现。
五、忽略文件
对于那些没有必要提交到仓库的文件可以将其添加到忽略列表中。
将文件添加到忽略列表之后,便会出现一个名为.gitignore的文本文件,打开之后文件内容如下:
几乎所有的版本控制系统都以某种形式支持分支。使用分支意味着你可以把手中的工作从开发主线上分离开来,以免影响开发主线。在很多版本控制系统中,这是一个略微低效的过程——常常需要完全创建一个源代码目录的副本。对于大项目来说,这样的过程会耗费很多时间。
Git的分支模型被称为它的“必杀技特性”,也正因为这一特性,使得Git从众多版本控制系统中脱颖而出。因为创建、合并、删除分支非常快,所以Git鼓励你使用分支完成某个任务,合并到master后再删掉分支,这和直接在master主分支上工作效果是一样的,但过程更安全。
六、创建分支
在准备创建分支之前,最好是把*.suo文件加入到忽略列表,这样可以避免一些冲突的发生。 创建分支有多种方式,这里介绍两种,方法一截图如下:
方法二截图如下:
七、切换分支
在切换分支之前一定要确保当前分支已经Commit。
八、合并分支
合并分支当然是2个分支合并,当前分支是主动合并的分支,Merge选择的分支是被合并的分支,逻辑一定要搞清楚。
九、删除分支
分支被合并后并不会被自动删除,如果该分支已经完成他的使命,则可以大胆地将其删除。