【发布时间】:2012-12-03 00:15:33
【问题描述】:
我有 2 个分支(master 和 dev)。另一个工作人员已将一个名为 stage 的新分支推送到存储库中,因此该 stage 现在比 master 提前 1 个提交。我正在尝试拉下舞台,以便可以将其合并到 master 中(从而合并到 dev 中),但是我在拉下舞台时遇到了问题。如何拉下干净版本的舞台?
【问题讨论】:
标签: git git-branch bitbucket git-merge git-pull
我有 2 个分支(master 和 dev)。另一个工作人员已将一个名为 stage 的新分支推送到存储库中,因此该 stage 现在比 master 提前 1 个提交。我正在尝试拉下舞台,以便可以将其合并到 master 中(从而合并到 dev 中),但是我在拉下舞台时遇到了问题。如何拉下干净版本的舞台?
【问题讨论】:
标签: git git-branch bitbucket git-merge git-pull
我认为您在这里不了解 Git 的分支基础知识。通过示例阅读我的回答后,您可能会了解更多。
您应该获取所有更新
git fetch --all
那么你应该看到现在仍然是远程分支:
git branch -a
[...]
remotes/origin/stage
可选,您可以通过签出将此分支设为本地分支stage(不必具有相同的名称)
git checkout -b stage origin/stage
你应该用这个切换到这个分支。
现在回到 master 并合并它:
git checkout master
git merge origin/stage # or just 'stage' if you have it local
现在,可以将fetch 和merge 两个步骤合并为一个pull。但是,有时需要获取新的分支及其头部才能指定它们。
git pull origin stage
【讨论】:
这应该可行:
git checkout master
git pull origin stage
考虑到 master 根本没有链接到 stage,您需要指定从哪里拉取,以及要合并什么。
见:
【讨论】:
git pull origin stage 这里就像git pull origin master:stage:它在当前分支中合并远程分支stage,如git pull的示例部分所示:git-scm.com/docs/git-pull#_examples