我之前通过创建一个克隆并在克隆中执行 rebase 来完成此操作,但我怀疑我可以在单独的分支上安全地执行此操作。
我有一个功能分支 feat-x
,上面有大约 25 个提交。我想(安全地)将其中的几个压缩在一起。
(我说“安全”是因为前几次我压扁我没有做对——但是在克隆中工作,所以把它扔掉,直到我想出正确的咒语。)
什么样的命令序列会给我 feat-x-exp
,它是 feat-x
的副本,所以我可以在不干扰 feat-x
的情况下尝试挤压?
最佳答案
我想你只想做:
git checkout -b feat-x-exp feat-x
这会检查您可以试验的
feat-x
副本。一旦你离开 feat-x
分支,你的 rebase 命令就不会影响原始分支(只要你避免使用两个参数形式,这是在 rebase 之前 checkout 的快捷方式)。如果你搞砸了,你可以使用以下命令回到原始分支的状态:
git reset --hard feat-x
如果您的实验成功,您可以移动
feat-x
以匹配 feat-x-exp
并删除实验分支:git checkout feat-x
git reset --hard feat-x-exp
git branch -d feat-x-exp
关于git - 如何制作分支的副本以测试 rebase ?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3365845/