将指针移动到上一次现有的master提交

时间:2015-01-05 22:37:48

标签: git

我是git命令的新手,第一次需要做这样的事情并且不知道从哪里开始 我现在拥有的:

branch-name          E
                    /
master A - B - C - D - F- G

我想拥有什么

branch-name                 E
                           /
master A - B - C - D - F- G

我怎样才能做到这一点?

编辑:错误消息

git rebase master以错误信息结束:

CONFLICT(修改/删除):在HEAD和modifie中删除了file.txt d在初始提交中。版本在树中保留file.txt的初始提交。 无法合并更改。 补丁在0001初始提交时失败 失败的补丁副本可在以下位置找到:    项目路径/ git的/重订申请/补丁 警告:您的控制台字体可能不支持Unicode。如果你经历过 在输出中转换字符时,请考虑切换为TrueType字体,例如L. ucida控制台!

1 个答案:

答案 0 :(得分:2)

这是一个简单的git rebase

git checkout branch-name
git rebase master

但是您可能必须在rebase之后强制推送branch-name(如果您之前已经推过):git push --force
如果其他人已经在他们自己的本地仓库中处理同一个分支,这可能会有问题,因为他们必须将其重置为新的历史记录。 在那种情况下(分支已经被推动),替代方案将是(类似于" alternative to rebasing pushed commits"中讨论的内容):

  • master合并到branch-name(并不总是被视为最佳做法)
  • 新分支中的git cherry-pick