电子商务网站开发教程书内代码,网站图标怎么上传,网站开发数据,建设官方网站请示备注#xff1a;知识点关于分支中的冲突分支管理的策略分支策略备注#xff1a;本文参考于廖雪峰老师的博客Git教程。依照其博客进行学习和记录#xff0c;感谢其无私分享#xff0c;也欢迎各位查看原文。知识点git log --graph --prettyoneline --abbrev-commit查看分支合… 备注知识点关于分支中的冲突分支管理的策略分支策略备注本文参考于廖雪峰老师的博客Git教程。依照其博客进行学习和记录感谢其无私分享也欢迎各位查看原文。知识点git log --graph --prettyoneline --abbrev-commit查看分支合并情况git log --graph查看分支合并图当两个分支修改同一个文件时可能发生两个分支不能自动合并的问题需要手动解决冲突(合并时Git将冲突标识了出来)然后再次提交即可完成合并。使用参数--no-ff禁用快合并模式,git merge --no-ff -mmerge with no-ff dev合并关于分支中的冲突如下新建一个分支dev2并且在新分支上开发$ git checkout -b dev2切换到一个新分支 dev2修改readme.txt添加一行。Creating a new branch is quick AND simple.在dev2分支进行提交$ git add readme.txt$ git commit -madd new line at readme on dev2[dev2 4a097db] add new line at readme on dev2 1 file changed, 1 insertion()切换到master分支同时在master上修改readme文件(添加域dev2分支上文件不同的内容Creating a new branch is quick simple.)并且提交git checkout master切换到分支 master您的分支领先 origin/master 共 1 个提交。 (使用 git push 来发布您的本地提交)$ git add readme.txt$ git commit -madd new line at readme on master[master d562bf7] add new line at readme on master 1 file changed, 1 insertion()如上Git会自动提示当前master分支比远程origin/master分支领先一个提交现在master分支和dev2 分支都有了各自新的提交在这种情况下Git无法执行“快速合并”只能试图把各自的修改合并起来由于同时都修改了同一行内容此时会有冲突。$ git merge dev2自动合并 readme.txt冲突(内容)合并冲突于 readme.txt自动合并失败修正冲突然后提交修正的结果。Git提示自动合并存在冲突冲突文件是readme需要修正冲突然后提交修正后的结果如果用git status查看看当前状态$ git status位于分支 master您的分支领先 origin/master 共 2 个提交。 (使用 git push 来发布您的本地提交)您有尚未合并的路径。 (解决冲突并运行 git commit)未合并的路径 (使用 git add ... 标记解决方案) 双方修改readme.txt修改尚未加入提交(使用 git add 和/或 git commit -a)如上提示双方修改查看readme.txt的内容$ cat readme.txtthis is a test that I learn and use git version control systemthis is a beginningwofaidognyixie dognxicreate two new branch HEADCreating a new branch is quick simple.Creating a new branch is quick AND simple. dev2Git用、、标记出不同分支的内容我们修改如下后保存Creating a new branch is quick and simple.修改冲突后提交$ git add readme.txt$ git commit -mconflict fixed[master 8f69de8] conflict fixedGit提示冲突已经修复现在master和dev2分支均指向了现在工作区的状态。使用git log --graph --prettyoneline --abbrev-commit可以查看分支的合并情况$ git log --graph --prettyoneline --abbrev-commit* 8f69de8 conflict fixed|\| * 4a097db add new line at readme on dev2* | d562bf7 add new line at readme on master|/* 03d07d2 modify readme.txt at branch* 036ced2 a push test* 6a0f133 remove test.txt* b5c87d4 add a test file* d5b84bf modifya readme file* 3033dda add a readme file如上分支合并和冲突记录此时可以删除dev2分支$ git branch -d dev2已删除分支 dev2(曾为 4a097db)。冲突解决完成分支管理的策略通常合并分支时Git使用Fast forward模式快速合并。但是快速模式删除分支会丢失分支信息。强制禁用Fast forward模式Git会将merge记录为一个新的提交同时分支历史会记录分支信息。切换到dev分支并修改readme文件同时提交commit$ git checkout -b dev切换到一个新分支 dev$ git add readme.txt$ git commit -ma new branch[dev 44dffc0] a new branch 1 file changed, 1 insertion()切换到master分支$ git checkout master切换到分支 master您的分支领先 origin/master 共 4 个提交。 (使用 git push 来发布您的本地提交)使用--no-ff参数合并分支dev到当前master,本次合并要创建一个新的commit所以加上-m参数描述$ git merge --no-ff -mmerge with no-ff devMerge made by the recursive strategy. readme.txt | 1 1 file changed, 1 insertion()使用git log查看分支合并图$ git log --graph --prettyoneline --abbrev-commit* 7c4d427 merge with no-ff|\| * 44dffc0 a new branch|/* 8f69de8 conflict fixed|\| * 4a097db add new line at readme on dev2* | d562bf7 add new line at readme on master|/* 03d07d2 modify readme.txt at branch* 036ced2 a push test* 6a0f133 remove test.txt* b5c87d4 add a test file* d5b84bf modifya readme file* 3033dda add a readme file分支策略实际开发中分支管理应按照以下几点master分支是稳定分支用来发布最新稳定版本开发中不需要修改它开发中尽量在dev中开发扩展新功能、修复bug等等到正式版发布时在将dev分支合并到master上。开发人员在dev分支上开发每个人都有自己的分支并且往dev分支上合并。团队合作分支开发参考Git教程https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000