我之前通过创建一个克隆并在克隆中执行 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/

10-11 17:24