【发布时间】:2011-06-05 05:21:41
【问题描述】:
考虑到有几个 git 命令在裸仓库中没有意义(因为裸仓库不使用索引并且没有工作目录),
git reset --hard HEAD^
不是取消提交此类存储库中最后一次更改的解决方案。
通过互联网搜索,我只能找到与该主题相关的this,其中提供了三种方法:
1.“手动更新参考(涉及管道)”;
2. "git push -f 来自非裸存储库";
3.“git branch -f this $that”。
您认为哪种解决方案更合适,或者还有哪些其他方法可以做到这一点?不幸的是,我发现的关于 git 裸存储库的文档相当差。
【问题讨论】:
-
@Lavinia-Garbriela Dobrovol 不要使用以下复杂的东西。您正在尝试将 HEAD 移至不同的提交,这就是 git reset 的目的,即使在裸仓库中也是如此。根据我在下面的回答,使用: git reset --soft
使用 --soft,您不会尝试更改不存在的工作树和索引,因此 git 可以让您毫无问题地进行重置。
标签: git repository commit reset git-bare