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