我已经在私人仓库工作了一段时间,我将发布给GitHub。
问题是我有很多提交,为了卫生,我希望只有一个提交出现在GitHub中。
如何在不推动历史的情况下推动?即将整个MASTER合并为一个提交
提前多多感谢。道格
答案 0 :(得分:5)
通常会使用git rebase --interactive HEAD~n
,其中n是否。您想要合并到一个提交。但是,在您的情况下,您希望将整个历史记录压缩为单个提交,并且由于无法使用父级(直到初始提交)进行重新定位,因此我们必须使用git reset
和git commit --amend
。
这是你做的:
git log --oneline
。找到初始提交的SHA。fe7d5d1
。运行git reset fe7d5d1
。这会将分支重置为初始提交。git add .
暂存所有更改。git commit --amend -m "Initial commit"
。git log --oneline
进行一次提交。注意:永远不要重写/压缩/ rebase你已经推送到远程仓库的提交。
答案 1 :(得分:1)
查看git rebase。互动模式。