繁体   English   中英

如何在 git 中变基和压缩提交?

[英]How do I rebase and squash commits in git?

我是 git 新手。 我使用过基本命令,如git pullgit pushgit 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM