git - Bitbucket 失败时手动同步分支

标签 git

我知道如何将分支与 master 同步。 我这样做:

git checkout target-branch
git merge master
# resolve conflicts if any and commit
git push

当自动同步因冲突而失败时,我正在尝试弄清楚 BitBucket 向我提出的建议。 BitBucket 建议我:

git checkout 326907c583f7
# Note: This will create a detached head!
git merge remotes/origin/master

创建分离头有什么意义? 我对我没有意义。 是 Bitbucket 方面的错误还是我遗漏了什么?

最佳答案

如果 BitBucket 无法为您同步分支,则说明您的分支更改和目标分支存在一些冲突。

您可以使用 git rebase 同步您的本地分支,然后推送更改。

假设你想与 master 分支同步,你可以执行以下后续步骤:

首先,更新您的本地 master 分支。

git fetch origin master:master

然后,将您的分支的更改与master 分支同步

git rebase master

如果您有冲突,您将收到一条消息,其中包含有关冲突的更多信息。进行必要的更改并使用:

git rebase --continue

在那里你可以收到一个新的冲突,在这种情况下,重复前面的操作。如果没有,您可以将更改推送到远程存储库。

因为您已经使用 git rebase 命令更改了历史记录,所以您需要强制推送。

git push -f

关于git - Bitbucket 失败时手动同步分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34723484/

相关文章:

git - 意外删除的 .git 文件夹 - 可以恢复吗?

linux - 如何在 openBSD 上使用 git 设置自动完成?

git - 分支明显不同,但提交历史是相同的

git 从 develop 创建 master 分支

git - 在 git rebase 之后,我的本地分支和远程分支发生了分歧

git - 仅在 Git 扩展上手动 merge

ruby-on-rails - Git 或 SVN for Rails 应用程序?

javascript - 无法在 heroku 上推送 node.js 应用程序

审查时的 git 和 gerrit 问题

git - 使用远程主机 gitlab 从 Windows 部署 capifony 时权限被拒绝(公钥)