Git 分支管理 解决冲突

  

  人生不如意之事十之八九,合并分支往往也不是一帆风顺的。

  准备新的feature1分支,继续我们的新分支开发:

    $ git checkout -b feature1

      

--

  feature1分支上修改readme.txt最后一行,改为:

        Creating a new branch is quick AND simple.

---

  feature1分支上提交:

      $ git add readme.txt
      $ git commit -m "AND simple"

          

           

----

  切换到master分支:

    

-----

  master分支上把readme.txt文件的最后一行改为:

        Creating a new branch is quick & simple.

------

  在master分支上提交:

    

-------

  现在,master分支和feature1分支各自都分别有新的提交,变成了这样: 

      

        

--------

  这种情况下,Git无法执行“快速合并(这种模式下,删除分支后,会丢掉分支信息)”

  只能试图把各自的修改合并起来但这种合并就可能会有冲突,我们试试看:

    

      

      发生冲突了

      Git告诉我们,readme.txt文件存在冲突,必须手动解决冲突后再提交。

  git status也可以告诉我们冲突的文件:

      

  

  我们也可以直接查案readme.txt的内容

      

    Git用<<<<<<<=======>>>>>>>标记出不同分支的内容

---------

  我们修改如下后保存: 

      Creating a new branch is quick and simple.

     

----------

  再提交:

      

-----------

  现在,master分支和feature1分支变成了下图所示:

      

    

------------

  用带参数的git log也可以看到分支的合并情况:

      $ git log --graph --pretty=oneline --abbrev-commit

      

      $ git log --graph 

       

-------------

  最后,删除feature1分支:

      $ git branch -d feature1

    

原文地址:https://www.cnblogs.com/mkl7/p/10849817.html

时间: 2024-08-06 22:53:25

Git 分支管理 解决冲突的相关文章

git分支管理与冲突解决(转载)

Git 分支管理和冲突解决 原文:http://www.cnblogs.com/mengdd/p/3585038.html 创建分支 git branch 没有参数,显示本地版本库中所有的本地分支名称. 当前检出分支的前面会有星号. git branch newname 在当前检出分支上新建分支,名叫newname. git checkout newname 检出分支,即切换到名叫newname的分支. git checkout –b newname master 这个命令将上面两个命令合并:在

[git] git拉取远程仓库,同步远程分支,解决冲突

[git] git拉取远程仓库,同步远程分支,解决冲突 1.本地仓库存在 本地仓库与远程master已绑定 1.拉取远程分支到本地 git fetch origin dev(远程分支名) 2.在本地创建该分支并切换 git checkout -b dev(本地分支名) origin/dev(远程分支名) 3.把分支代码拉取到本地 git pull origin origin dev(远程分支名) 2.本地仓库不存在 1.克隆远程仓库 git clone 远程库地址 2.拉取远程分支到本地 git

[廖雪峰] Git 分支管理策略

通常,合并分支时,如果可能,Git 会用 Fast forward 模式,但这种模式下,删除分支后,会丢掉分支信息. 如果要强制 禁用 Fast forward 模式,Git 就会在 merge 时生成一个新的 commit,这样,从分支历史上就可以看出分支信息. 下面我们实战一下 --no-ff 方式的 git merge: 首先,仍然创建并切换 dev 分支: $ git checkout -b dev Switched to a new branch 'dev' 修改 readme.txt

GIt分支管理策略

大纲: 1.前言 2.创建分支 3.切换分支 4.合并分支(快速合并) 5.删除分支 6.分支合并冲突 7.合并分支(普通合并) 8.分支管理策略 9.团队多人开发协作 10.总结 注,测试机 CentOS 5.5 x86_64,Git 服务器版本:git version 1.8.2.1,客户端版本:git version 1.9.2.msysgit.0.所有软件请到这里下载:http://msysgit.github.io/. 1.前言 在上一篇博客中我们主要讲解了Git 远程仓库,相信大家对

Github操作与git分支管理

通过今天学习的web新知识和复习Sublime Text的基础知识,让我收获颇多,疑惑也多.尤其是在做用 git 和gitHub来管理自己的代码的题目内容时候遇到了许多的疑问,首先在注册用户时都不太懂,在老师提示和指导下才慢慢理解和完成题目. 了解到git分支管理,感觉这个程序可以给我们带来非常多的便利和快捷.使用的标签也没有很复杂,git程序的操作并不需要网络,而应用到的软件才需要,在团队开发中,遵循一个合理.清晰的开发使用流程是很重要的,不然每人乱写项目会变得难以协调和维护.所以将一个项目文

Git工程开发实践(四)——Git分支管理策略

Git工程开发实践(四)--Git分支管理策略 一.Git版本管理的挑战 Git是非常优秀的版本管理工具,但面对版本管理依然有非常大得挑战.工程开发中,开发者彼此的代码协作必然带来很多问题和挑战:A.如何开始一个Feature开发,而不影响其它Feature?B.由于很容易创建新分支,分支多了如何管理,时间久了,如何知道每个分支是干什么的?C.哪些分支已经合并回了主干?D.如何进行Release的管理?开始一个Release的时候如何冻结Feature, 如何在Prepare Release的时

Git分支管理——创建、合并、删除分支

前言: 几乎所有的版本控制都以某种形式支持分支.使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线. Git的分支模型成称为它的"必杀技特性",也正因为这一特性,使得Git从众多版本控制系统中脱颖而出.Git处理分支的方式是难以置信的轻量,创建新的分支这一操作是秒级完成的,并且在不同分支之间的切换操作也是一样便捷. Git的分支,其实本质上仅仅是指向提交对象的可变指针.Git的默认分支是master.在多次提交操作之后,其实我们已经有一个指向最后那个提交对象的mast

Git分支管理实战

Git分支管理实战: 使用了Git之后,Git确实比TFS 好用,首先它很轻巧,分支之间切换基本在秒级,分支创建也很方便,但由于方便快捷,最近我们一直在因为分支管理混乱而陷入无穷的痛苦之中, 在此痛定思痛,觉得借鉴网上一个好的方案来管理分支. 一.主分支: 实际开发中,主要存在两条主分支,Master和Develop 分支,这两个分支的生命周期是整个项目周期. 他们有如下特点: 1.Master和develop分支自创建之后都不会删除,会随着项目的增长不断往里面添代码. 2.Master分支是G

[转]Git分支管理策略

如果你严肃对待编程,就必定会使用"版本管理系统"(Version Control System). 眼下最流行的"版本管理系统",非Git莫属. 相比同类软件,Git有很多优点.其中很显著的一点,就是版本的分支(branch)和合并(merge)十分方便.有些传统的版本管理软件,分支操作实际上会生成一份现有代码的物理拷贝,而Git只生成一个指向当前版本(又称"快照")的指针,因此非常快捷易用. 但是,太方便了也会产生副作用.如果你不加注意,很可能