Git远程仓库显示冲突,但本地没有显示冲突。

7

我已经检出了远程分支的工作副本,进行了更改,暂存和提交更改,并将更改推回到源。当我在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.

所以我的工作副本已经是最新的了,但这个冲突仍然显示。我尝试删除文件,然后提交和推送删除,但无论如何它仍然在远程分支中显示该文件处于冲突状态。
当我检查文件时,我没有看到任何类似于“>>>>”的冲突标记。
我确实与我的团队交谈过,结果发现有人上周直接在Bit Bucket中修改了远程文件。我回想起进行了git fetch和git checkout(没有警告或错误),然后提交和推送,然后当我意识到发生了更改时,回去做了git pull以获取最新版本(仍然没有警告或错误)。
这里发生了什么,我该如何解决?
1个回答

4

在BitBucket的Pull Request视图中注意到的冲突并不是提交或分支上的冲突。相反,它们是从合并操作中预期的冲突,将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

即使BitBucket显示“冲突:源和目的地中的文件被修改”,这是否仍然成立? - Bad Programmer
那是我的理解。 - Ian MacDonald

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接