我已经在私人仓库上工作了一段时间,并将发布到 GitHub。
问题是我有很多提交,为了卫生起见,我希望只有一个提交出现在 GitHub 中。
我如何在不推动历史的情况下推动?即将整个 MASTER 合并到一个提交中
提前谢谢了。
道格
我已经在私人仓库上工作了一段时间,并将发布到 GitHub。
问题是我有很多提交,为了卫生起见,我希望只有一个提交出现在 GitHub 中。
我如何在不推动历史的情况下推动?即将整个 MASTER 合并到一个提交中
提前谢谢了。
道格
通常人们会使用git rebase --interactive HEAD~n
where n is the no。您想要合并为一个的提交。但是,在您的情况下,您希望将整个历史压缩到一个提交中,并且由于没有父级(直到初始提交)的 rebase 是不可能的,我们必须使用git reset
and git commit --amend
。
这是你要做的:
git log --oneline
. 查找初始提交的 SHA。fe7d5d1
。运行git reset fe7d5d1
。这会将分支重置为初始提交。git add .
暂存所有更改。git commit --amend -m "Initial commit"
.git log --oneline
。注意:永远不要重写/压缩/rebase 你已经推送到远程仓库的提交。
查看 git rebase。交互模式。