我很好奇如何删除git中的第一次提交。

做任何事情之前的修改是什么?这个修订版有名称或标签吗?


当前回答

如果你只是提交了它,但没有推送它,那么只需删除。git目录并再次init git…

其他回答

我正在寻找一种方法来撤销所有的git提交从一个回购,就像他们从来没有发生过。

调整基准在一定程度上会起作用。但是,第一次(按时间顺序来看,最早的git提交)总是会有问题,因为它没有父节点,所以会出错。

这些答案都不能完全解决我的问题。但经过大量的搜索和试错,我发现这个工作!

git update-ref -d HEAD
git push origin master -f

希望这对你有所帮助。祝你有愉快的一天。

# Check out to a temporary branch:
git checkout --orphan TEMP_BRANCH

# Add all the files:
git add -A

# Commit the changes:
git commit -am "Initial commit"

# Delete the old branch:
git branch -D master

# Rename the temporary branch to master:
git branch -m master

# Finally, force update to our repository:
git push -f origin master

如果你只是提交了它,但没有推送它,那么只需删除。git目录并再次init git…

另一种方法是:

签出到你想要保留的分支(比如开发)git签出开发 现在,删除你想重置git分支-D master的分支 现在,创建一个具有相同名称的空分支git checkout—orphan master

当然,所有这些都取决于您的用例,但是如果您有多个分支,删除.git目录就没有意义了。

您可能只想编辑您的第一次提交(因为在git repo中总是有第一次提交)。考虑使用git commit——modify——reset-author而不是通常的git commit——modify。