前言:文章内容全部截选自实验楼课程【Git 实战教程】,更多Git 使用介绍,上实验楼学习该教程即可~
Git的分支可以让你在主线(分支)之外进行代码提交,同时又不会影响代码库主线。
分支的作用体现在多人协作开发中,比如一个团队开发软件,你负责独立的一个功能需要一个月的时间来完成,你就可以创建一个分支,只把该功能的代码提交到这个分支,而其他同事仍然可以继续使用主线开发,你每天的提交不会对他们造成任何影响。当你完成功能后,测试通过再把你的功能分支合并到主线。
1.分支
一个Git仓库可以维护很多开发分支。现在我们来创建一个新的叫 的分支:
$ git branch experimental
运行git 命令可以查看当前的分支列表,已经目前的开发环境处在哪个分支上:
$ git branch experimental* master
分支是你刚才创建的,分支是Git系统默认创建的主分支。星号标识了你当工作在哪个分支下,输入git 分支名可以切换到其他分支:
$ git checkout experimentalSwitched to branch 'experimental'
切换到分支,切换完成后,先编辑里面的一个文件,再提交()改动,最后切换回 “”分支:
# 修改文件file1 $ echo "update" >> file1 # 查看当前状态 $ git status # 添加并提交file1的修改 $ git add file1 $ git commit -m "update file1" # 查看file1的内容 $ cat file1 test update # 切换到master分支 $ git checkout master
查看下file1中的内容会发现刚才做的修改已经看不到了。因为刚才的修改时在分支下,现在切换回了分支,目录下的文件都是分支上的文件了。
现在可以在分支下再作一些不同的修改:
# 修改文件file2 $ echo "update again" >> file2 # 查看当前状态 $ git status # 添加并提交file2的修改 $ git add file2 $ git commit -m "update file2 on master" # 查看file2的内容 $ cat file2 test update again
这时,两个分支就有了各自不同的修改,分支的内容都已经不同,如何将多个分支进行合并呢?
2.合并
可以通过下面的git merge命令来合并到主线分支:
# 切换到master分支 $ git checkout master # 将experimental分支合并到master $ git merge -m 'merge experimental branch' experimental
-m参数仍然是需要填写合并的注释信息。
由于两个修改了两个不同的文件,所以合并时不会有冲突,执行上面的命令后合并就完成了。
如果有冲突,比如两个分支都改了一个文件file3,则合并时会失败。首先我们在分支上修改file3文件并提交:
# 切换到master分支 $ git checkout master # 修改file3文件 $ echo "master: update file3" >> file3 # 提交到master分支 $ git commit -a -m 'update file3 on master'
然后切换到,修改file3并提交:
# 切换到experimental分支 $ git checkout experimental # 修改file3文件 $ echo "experimental: update file3" >> file3 # 提交到master分支 $ git commit -a -m 'update file3 on experimental'
切换到进行合并:
$ git checkout master $ git merge experimental Auto-merging file3 CONFLICT (content): Merge conflict in file3 Automatic merge failed; fix conflicts and then commit the result.
合并失败后先用git 查看状态,会发现file3显示为both ,查看file3内容会发现:
$ cat file3 test <<<<<<>>>>>> experimental
上面的内容也可以使用git diff查看,先前已经提到git diff不加参数可以显示未提交到缓存区中的修改内容。
可以看到冲突的内容都被添加到了file3中,我们使用vim编辑这个文件,去掉git自动产生标志冲突的
———END———
限 时 特 惠: 本站每日持续更新海量各大内部创业教程,永久会员只需109元,全站资源免费下载 点击查看详情
站 长 微 信: nanadh666