我已经在私人仓库上工作了一段时间,并将发布到 GitHub。
问题是我有很多提交,为了卫生起见,我希望只有一个提交出现在 GitHub 中。
我如何在不推动历史的情况下推动?即将整个 MASTER 合并到一个提交中
提前谢谢了。
道格
我已经在私人仓库上工作了一段时间,并将发布到 GitHub。
问题是我有很多提交,为了卫生起见,我希望只有一个提交出现在 GitHub 中。
我如何在不推动历史的情况下推动?即将整个 MASTER 合并到一个提交中
提前谢谢了。
道格
通常人们会使用git rebase --interactive HEAD~nwhere n is the no。您想要合并为一个的提交。但是,在您的情况下,您希望将整个历史压缩到一个提交中,并且由于没有父级(直到初始提交)的 rebase 是不可能的,我们必须使用git resetand 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。交互模式。