如何将整个存储库压缩到第一次提交?

我可以将base转换为第一次提交,但这将留给我2次提交。 有没有办法在第一个提交之前引用这个提交?


当前回答

首先,使用git rebase -interactive将所有提交压缩成一个提交。现在就剩下两个壁球提交了。要做到这一点,请阅读任何一本

如何合并Git存储库的前两次提交? Git:如何压缩前两次提交?

其他回答

创建备份

git branch backup

重置为指定提交

git reset --soft <#root>

然后将所有文件添加到登台

git add .

提交而不更新消息

git commit --amend --no-edit

推送新分支与压缩提交到回购

git push -f

一行6个字:

git checkout --orphan new_root_branch  &&  git commit

最简单的方法是使用'plumbing'命令update-ref删除当前分支。

你不能使用git branch -D,因为它有一个安全阀来阻止你删除当前的分支。

这会让你回到“初始提交”状态,在那里你可以开始一个新的初始提交。

git update-ref -d refs/heads/master
git commit -m "New initial commit"

首先,使用git rebase -interactive将所有提交压缩成一个提交。现在就剩下两个壁球提交了。要做到这一点,请阅读任何一本

如何合并Git存储库的前两次提交? Git:如何压缩前两次提交?

也许最简单的方法是用工作副本的当前状态创建一个新的存储库。如果你想保留所有的提交消息,你可以先执行git log > original.log,然后在新的存储库中编辑你的初始提交消息:

rm -rf .git
git init
git add .
git commit

or

git log > original.log
# edit original.log as desired
rm -rf .git
git init
git add .
git commit -F original.log