我是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控制台!
答案 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