Git 远程存储库显示冲突,但本地未显示冲突

Bad*_*mer 9 git bitbucket

我已经检查了远程分支的工作副本,进行了更改,暂存并提交了更改,然后推回了原点。当我在 BitBucket 中查看拉取请求时,我发现其中一个文件处于冲突状态。我完成了以下步骤:

  1. 使用获取最新版本git pull
  2. 使用再次签出分支git checkout <branch>
  3. 使用 git pull origin

此时我希望看到一条冲突消息。反而...

From https://bitbucket.org/site
 * branch              mybranch -> FETCH_HEAD
Already up to date.
Run Code Online (Sandbox Code Playgroud)

所以我的工作副本已经是最新的,但这种冲突仍然存在。我尝试删除该文件,然后提交并推送删除,但无论如何它仍然显示远程分支中的文件存在冲突。

当我检查文件时,我没有看到任何冲突标签,例如>>>>

我确实与我的团队交谈过,结果发现有人上周直接在 Bit Bucket 中修改了远程文件。我记得做了一个 git fetch 和 git checkout (没有警告或错误),然后提交和推送,然后当我意识到发生了更改时,返回并执行 git pull 以获得最新版本(仍然没有警告或错误)错误)。

这是怎么回事?我该如何解决这个问题?

Ian*_*ald 4

BitBucket 的拉取请求视图中记录的冲突不是提交或分支中的冲突。相反,它们是合并操作的预期冲突,获取 PR 源分支并将其合并到 PR 目标分支中。

您可以通过重新定位到新的目标分支 HEAD 来最轻松地解决此问题。

git rebase origin/<target_branch>
# You might have to fix some conflicts here, but they are less
# likely with a rebase than a merge.
git push
Run Code Online (Sandbox Code Playgroud)