如何制作分支副本以测试rebase?

bst*_*rre 4 git branch rebase squash

之前我已经通过创建克隆并在克隆中执行rebase来完成此操作,但我怀疑我可以在单独的分支上安全地执行此操作.

我有一个功能分支feat-x,大约有25个提交.我想(安全地)将其中的几个压在一起.

(我说"安全",因为前几次我被压扁了,我没有把它弄好 - 但是正在克隆中工作,所以只是把它扔掉,直到我弄清楚了正确的咒语.)

什么序列的命令会给我feat-x-exp一个副本,feat-x所以我可以尝试挤压而不会打扰feat-x

CB *_*ley 5

我想你只想这样做:

git checkout -b feat-x-exp feat-x
Run Code Online (Sandbox Code Playgroud)

这将检查feat-x您可以试验的副本.一旦你离开feat-x分支,你的rebase命令不会影响原始分支(只要你避免两个参数形式,这是在rebase之前签出的快捷方式).

如果你陷入困境,你可以回到原始分支的状态:

git reset --hard feat-x
Run Code Online (Sandbox Code Playgroud)

如果您的实验成功,您可以移动feat-x匹配feat-x-exp并删除实验分支:

git checkout feat-x
git reset --hard feat-x-exp
git branch -d feat-x-exp
Run Code Online (Sandbox Code Playgroud)