[英]How do I rebase and squash commits in git?
我是 git 新手。 我使用过基本命令,如git pull
、 git push
、 git checkout
一个分支,但从未将提交压缩为单个提交,也从未进行过变基。 我的首席开发人员让我使用一个旧的结账分支(在那里已经有 3 个月了)。
我已经在该分支上进行了更改,但需要重新设置并压缩它的具体操作方式。 我使用了以下它失败了。
git rebase origin master
git push
git fetch
git log
git fetch 和 git log 只是为了确保您已更新,您可以查看日志以确保您的 rebase 正常工作。
git rebase -i origin/master
在 vi 编辑器中执行 git rebase -i origin/master 后,使用选项 fixup 压缩所有不需要的提交(用 fixup 替换拾取)
git status
如果有任何冲突,请使用 git add 。 和 git rebase --continue 否则您可以忽略以下两个步骤。 (作为旧分支,我认为会有冲突)
git add .
git rebase --continue
git log
只需使用 git log 检查日志以确保您的提交位于正确的位置,此步骤不需要它的可选步骤。
您将不得不使用强制推动。
git push -f
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.