【发布时间】:2011-12-29 14:53:36
【问题描述】:
假设我在我的克隆中的 master 之上混合了提交和合并。现在我想把它推送到某个地方,但我收到一条消息,说我的更改无法快进。
如果我只有提交,我会做一个pull --rebase、push 并且我会完成它。但是如果我有合并的方式,用 rebase 拉动会破坏它们。我该如何处理这种情况?
【问题讨论】:
标签: git version-control merge repository rebase
假设我在我的克隆中的 master 之上混合了提交和合并。现在我想把它推送到某个地方,但我收到一条消息,说我的更改无法快进。
如果我只有提交,我会做一个pull --rebase、push 并且我会完成它。但是如果我有合并的方式,用 rebase 拉动会破坏它们。我该如何处理这种情况?
【问题讨论】:
标签: git version-control merge repository rebase
如果我对你的理解正确,你会想要git fetch。一旦你拉入远程分支提示,手动 rebase/merge/cherry-pick 你的本地工作。一旦你按照你想要的方式安排它,将你的更改推送回遥控器。
Here 很好地解释了为什么要使用 fetch 而不是 pull。
【讨论】:
pull --rebase 已经这样做了,但它会破坏过程中的一些信息。
git pull 并希望合并按计划进行。
要变基并保留合并,您可以为变基命令指定--preserve-merges 选项。根据每个提交作为补丁应用的难易程度,这可能会也可能不会容易做到。
我会先获取更改,然后检查并采取行动。
【讨论】: