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

时间:2018-12-07 17:09:10

标签: git gitbucket

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

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

这时,我希望看到一条冲突消息。而是...

From https://bitbucket.org/site
 * branch              mybranch -> FETCH_HEAD
Already up to date.

所以我的工作副本已经是最新的,但此冲突仍在显示。我尝试删除文件,然后提交并推动删除操作,但是无论它仍然显示远程分支中的文件,还是有冲突。

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

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

这是怎么回事,我该如何解决?

1 个答案:

答案 0 :(得分:1)

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