最好用一个例子来解释
目标分支=开发|源分支=我的分支
在将更改推送到 bitbucket 云之前,我在本地运行了这些命令
git checkout develop
git pull origin develop
git checkout my-branch
git merge develop
git push origin my-branch
当我尝试在 bitbucket 中创建合并请求以将我的分支合并到开发中时,Bitbucket 抱怨存在合并冲突。
但是我看不到冲突在哪里(而且应该没有冲突,因为我刚刚合并开发到我的分支)。
知道我可能做错了什么吗?我检查了 develop 分支的冲突文件(有 3 个)并且 develop 分支中的副本有我的更改。
谢谢
当你在 Git 中合并两个分支时,如果在两个分支中对相同的代码行进行了更改,就会产生冲突。在这种情况下,Git 无法自动确定保留哪些更改,丢弃哪些更改,您将需要手动解决冲突。如果有冲突,Git 会通知您有冲突,并告诉您哪些文件有冲突。使用
git status
查看冲突的详细信息。
编辑文件以保留您想要保留的更改并删除您想要放弃的更改。解决文件中的所有冲突后,删除冲突标记。解决所有冲突后,保存更改并使用命令
git add <file>
将文件添加到暂存区。然后使用 git commit -m "message"
提交您的更改。最后,使用命令 git push origin my-branch
将更改推送到远程 my-branch 分支。这应该可以解决您的问题。
如果你是唯一一个在“
my-branch
”上工作的人,更好的做法是在 my-branch
之上进行 rebase
origin/develop
。
假设您当前正在处理
my-branch
(意味着my-branch
当前已签出)
git fetch
git rebase origin/develop
git push --force
然后在 Bitbucket 方面,任何 my-branch 到 develop 的合并都是微不足道的。