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

标签 git bitbucket

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

  • 使用 git pull 获得最新版本
  • 再次使用 git checkout <branch> checkout 分支
  • 使用 git pull origin

  • 在这一点上,我希望看到一条冲突消息。反而...
    From https://bitbucket.org/site
     * branch              mybranch -> FETCH_HEAD
    Already up to date.
    

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

    当我检查文件时,我没有看到任何冲突标签,例如 >>>>
    我确实与我的团队交谈过,结果发现上周有人直接在 Bit Bucket 中修改了远程文件。我记得做了一个 git fetch 和 git checkout(没有警告或错误),然后提交和推送,然后当我意识到发生了变化时,回去做一个 git pull 以获得最新版本(仍然没有警告或错误)。

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

    最佳答案

    在 BitBucket 的 Pull Request View 中记录的冲突不是提交或分支中的冲突。相反,它们是来自 merge 操作的预期冲突,采用 PR 源分支并将其 merge 到 PR 目标分支。

    您可以通过 rebase 到新的目标分支 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
    

    关于Git远程仓库显示冲突,但本地不显示冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53674038/

    相关文章:

    jenkins - BitBucket WebHook Jenkins

    git - 我可以通过密码让 TortoiseGit 记住吗? (使用多个 BitBucket 帐户)

    php - Docker 镜像 : Unable to locate package php7. 2

    混帐/Github : Commit got lost

    Git Stash 在 IntelliJ 中未被追踪

    python - vscode 启动的许多 rg 命令占用 99% 的 CPU

    bitbucket - 删除 BitBucket 与 jira 的集成

    newline - 如何在 Bitbucket markdown 中新写一行?

    git - 如何在 JGit 中执行 "git bundle create --all"?

    node.js - 如何在 github 操作工作流 ci 中通过 npm 安装私有(private) github 存储库