考虑到有几个 git 命令在裸存储库中没有任何意义(因为裸存储库不使用索引并且没有工作目录),
git reset --hard HEAD^
不是取消提交此类存储库中最后更改的解决方案。
通过互联网搜索,我能找到与该主题相关的所有内容this http://kerneltrap.org/mailarchive/git/2007/7/14/251529,其中向我展示了三种执行此操作的方法:
1.“手动更新参考(涉及管道)”;
2. "git push -f
来自非裸存储库”;
3. "git branch -f this $that
".
您认为哪种解决方案更合适或者还有哪些其他方法可以做到这一点?不幸的是,我发现的关于 git bare 存储库的文档相当糟糕。
您可以使用git update-ref
命令。要删除最后一次提交,您可以使用:
$ git update-ref HEAD HEAD^
或者,如果您不在无法删除最后一次提交的分支中:
$ git update-ref refs/heads/branch-name branch-name^
如果需要,您也可以传递 sha1:
$ git update-ref refs/heads/branch-name a12d48e2
请参阅文档git 更新参考 http://schacon.github.com/git/git-update-ref.html命令。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)