Git - 使用单个整合提交推送到新远程

Dou*_*oug 5 git version-control git-push

我已经在私人仓库工作了一段时间,我将发布给GitHub.

问题是我有很多提交,为了卫生,我只想在GitHub中出现一个提交.

如何在不推动历史的情况下推进?即将整个MASTER合并为一个提交

提前谢谢了.

道格

Sah*_*hoo 5

通常会使用git rebase --interactive HEAD~nn为no的地方.您想要合并到一个提交.但是,在您的情况下,您希望将整个历史记录压缩为单个提交,并且由于无法在没有父级(直到初始提交)的情况下进行重新定位,因此我们必须使用git resetgit commit --amend.

这是你做的:

  1. git log --oneline.找到初始提交的SHA.
  2. 假设我们的SHA是fe7d5d1.跑git reset fe7d5d1.这会将分支重置为初始提交.
  3. 现在用于git add .暂存所有更改.
  4. 接下来修改你的初始提交,git commit --amend -m "Initial commit".
  5. 确认您现在只有一次提交git log --oneline.

注意:永远不要重写/压缩/重新绑定已经推送到远程仓库的提交.


Sur*_*ani 1

查看 git rebase。交互模式。