Git将源/主机中的所有提交压缩为源/主机中的单个提交

Dar*_*Sim 1 git version-control github

我在玩我的git存储库,并在较早之前对master分支进行了很多提交。现在我意识到它有点嘈杂,并且希望将所有这些合并到一个提交中。

102381 commit z
....
176232 commit a
891273 initial commit
Run Code Online (Sandbox Code Playgroud)

简单地

198273 initial commit (after rebase)
891273 initial commit
Run Code Online (Sandbox Code Playgroud)

我环顾四周,许多解决方案似乎都在压扁。不幸的是,鉴于所有内容都已经在master分支上,这可能是可能的。

我最初的想法之一是

  1. 从提交创建一个新的分支#891273
  2. 从主到新分支压缩一切
  3. 删除旧的母版,并用新的分支替换它

我不确定这是否是一个好方法;认为对此有一些想法,指导和讨论会比较明智。

pra*_*atZ 5

您可以简单地进行软重置,891273然后再提交。这会将分支重置为第一次提交,并保留登台区域中的更改重置,您可以在下一步中提交。

git reset --soft 891273 
git commit -m 'Second Commit'
Run Code Online (Sandbox Code Playgroud)

这样,您将在存储库中进行两次提交。