git 解决冲突之 theirs & ours

git merge

从feature分支合并到master分支

$ git checkout master 
$ git merge feature 

Auto-merging Document 
CONFLICT (content): Merge conflict in $codefile
Automatic merge failed; fix conflicts and then commit the result.

你可以手动解决$codefile冲突,或者

$ git checkout --ours $codefile

选择master的版本来解决冲突

$ git checkout --theirs $codefile

选择feature版本来解决冲突

然后添加冲突文件为已解决并继续

$ git add $codefile 
$ git merge --continue 

[master 5d01884] Merge branch 'feature' 

git rebase

let's rebase conflicting branch feature over master
解决master变基时feature分支

$ git checkout feature 
$ git rebase master 

First, rewinding head to replay your work on top of it... 
Applying: a commit done in branch feature 
error: Failed to merge in the changes. 
...

either fix the conflict manually by editing $codefile, or use

$ git checkout --ours $codefile

选择master分支版本来解决冲突

$ git checkout --theirs $codefile

选择feature分支版本来解决冲突

然后解决冲突,继续

$ git add $codefile
$ git rebase --continue 

Applying: a commit done in branch feature 

当两个或更多的开发者同时修改了同一份文件并且提交给主分支时,可能会发生合并冲突。在Git中,解决这种冲突通常涉及以下几个步骤: 1. **检出合并**: 在命令行中,首先检出你想要解决冲突的工作分支(通常是你正在进行编辑的分支),然后合并远程分支的更新: ```shell git fetch git merge origin/remote_branch ``` 2. **查找冲突**: 冲突会在`.git/index.lock`和文件的后缀为`.conflict`的版本中体现。比如,`file.txt~ours`、`file.txt~theirs` 和 `file.txt` 文件,分别代表你之前的版本、其他人的改动和合并后的尝试。 3. **打开文件检查**: 打开包含冲突内容的文件,可以看到文本已经被标记成不同颜色或添加特殊的注释,告诉你哪些部分发生了冲突。 4. **手动编辑冲突**: 根据实际情况解决冲突。删除`<<<<<<<`, `=======`, `>>>>>>>`之间的内容,并保留你认为正确的修改。一般来说,保留你自己对`<conflict-marker>your change</conflict-marker>`的部分,删除对方的`<conflict-marker>their change</conflict-marker>`。 5. **保存并提交**: 解决冲突后,删除`.git/index.lock`文件,然后添加并提交你的解决方案: ```shell git add file.txt git commit -m "Resolved merge conflict" ``` 提交的时候记得详细描述冲突及你的处理方式。 6. **推送解决**: 推送你的分支到远程仓库,让其他人可以查看你的解决: ```shell git push origin your_branch_name ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值