git 合并冲突 - 如何解决?

问题描述 投票:0回答:2

最好用一个例子来解释

目标分支=开发|源分支=我的分支

在将更改推送到 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-merge-conflict
2个回答
0
投票

当你在 Git 中合并两个分支时,如果在两个分支中对相同的代码行进行了更改,就会产生冲突。在这种情况下,Git 无法自动确定保留哪些更改,丢弃哪些更改,您将需要手动解决冲突。如果有冲突,Git 会通知您有冲突,并告诉您哪些文件有冲突。使用

git status
查看冲突的详细信息。

编辑文件以保留您想要保留的更改并删除您想要放弃的更改。解决文件中的所有冲突后,删除冲突标记。解决所有冲突后,保存更改并使用命令

git add <file>
将文件添加到暂存区。然后使用
git commit -m "message"
提交您的更改。最后,使用命令
git push origin my-branch
将更改推送到远程 my-branch 分支。这应该可以解决您的问题。


0
投票

如果你是唯一一个在“

my-branch
”上工作的人,更好的做法是在 my-branch 之上进行
rebase
origin/develop

假设您当前正在处理

my-branch
(意味着
my-branch
当前已签出)

git fetch
git rebase origin/develop
git push --force

然后在 Bitbucket 方面,任何 my-branch 到 develop 的合并都是微不足道的。

© www.soinside.com 2019 - 2024. All rights reserved.