Jia*_*ang 136 git commit repository git-commit
我很好奇如何删除git中的第一个提交.
在做出任何事情之前的修改是什么?此修订版是否有名称或标记?
tzi*_*tzi 249
对我来说,最安全的方法是使用update-ref
命令:
git update-ref -d HEAD
Run Code Online (Sandbox Code Playgroud)
它将删除命名引用HEAD
,因此它将重置(轻柔地,您不会丢失您的工作)您当前分支的所有提交.
如果你想要的是将第一个提交与第二个提交合并,你可以使用rebase
命令:
git rebase -i --root
Run Code Online (Sandbox Code Playgroud)
最后一种方法是创建一个孤立分支,一个具有相同内容但没有任何提交历史记录的分支,并在其上提交新内容:
git checkout --orphan <new-branch-name>
Run Code Online (Sandbox Code Playgroud)
Cha*_*esB 40
在第一次提交之前没有任何内容,因为每个提交都引用父提交.这使得第一次提交特殊(孤立提交),因此无法引用先前的"状态".
因此,如果您想要修复提交,您可以简单地git commit --amend
:这将修改提交而不创建另一个提交.
如果您只想重新开始,请删除.git
存储库,然后再创建另一个存储库git init
小智 9
git checkout --orphan TEMP_BRANCH
git add -A
git commit -am"初始提交"
git branch -D master
git branch -m master
git push -f origin master
我正在寻找一种方法来撤消所有来自 repo 的 git 提交,就像它们从未发生过一样。
重新定位将在一定程度上起作用。然而,第一个(按时间顺序最旧的 git 提交)总是会有问题,因为它没有父级,所以会出错。
这些答案都没有为我解决。但是经过大量的搜索和反复试验,我发现这可行!
git update-ref -d HEAD
git push origin master -f
Run Code Online (Sandbox Code Playgroud)
希望这对你有帮助。祝你有美好的一天。
您可能只想编辑第一次提交(因为git repo中始终存在第一次提交).考虑使用git commit --amend --reset-author
而不是通常git commit --amend
.
归档时间: |
|
查看次数: |
55875 次 |
最近记录: |