我已经在一个私有仓库上工作了一段时间,现在准备将其发布到GitHub上。
问题是我有很多次提交,为了卫生起见,我希望只有一个提交记录出现在GitHub上。
我该如何推送而不推送历史记录?即将整个主分支合并为单个提交。
非常感谢您的帮助。
Doug
我已经在一个私有仓库上工作了一段时间,现在准备将其发布到GitHub上。
问题是我有很多次提交,为了卫生起见,我希望只有一个提交记录出现在GitHub上。
我该如何推送而不推送历史记录?即将整个主分支合并为单个提交。
非常感谢您的帮助。
Doug
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
命令确认您现在只有一个提交。研究 git rebase。交互模式。