git merge conflict的处理

注:补充一点,使用git am的时候,加上-3参数,这样conflict的时候就会出现如下的文本,方便我们解决conflict。

 

会产生conflict的,一般是在做git merge, git cherry-pick, git rebase这些事情的时候。 

conflict的时候,编辑冲突的文件,搜索<<<<,就会找到冲突的地方,一般语法是这样的:

<<<<<<< HEAD: <filename>

......

=======

...... 

>>>>>>> <commit number & commit subject/branch name(which wanna be merged)>: <filename>

 

七个<号到七个=中间的内容,是HEAD这个branch上的内容。七个=到七个>之间的内容,是要merge的patch的内容。

 

1. git merge <branch which wanna be merged>

   对于git merge来说,七个<号到七个=中间的内容,是local branch上的内容。七个=到七个>之间的内容,是要merge进来的branch上的内容。

 

2. git cherry-pick,跟git merge一样

 

3. git rebase

   git rebase的做法很简单,就是将要rebase的第一个commit之前的那个commit checkout出来到一个"no branch"(没有名字的branch),然后从要rebase的第一个patch开始,一个一个的merge到这个"no branch"中去。完成之后,将这个"no branch"改名成你运行git rebase的时候所在的branch。

   所以,在git rebase的时候, 七个<号到七个=中间的内容,是"no branch"上的内容。七个=到七个>之间的内容,是本次要rebase的那个patch的内容。七个>号后面的commit name/commit subject也证明了这一点。

   解决了冲突之后,git add即可,不需要git commit,然后git rebase --continue即可。 

转载于:https://www.cnblogs.com/super119/archive/2013/04/26/3044763.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值