【发布时间】:2013-08-07 22:17:39
【问题描述】:
我知道git reset 更新索引,而git checkout 更新工作副本。我不明白的是需要git reset 接受引用和路径参数的用例?在这种情况下,我似乎总是想使用git checkout?
当人们问为什么他们不能git reset some-ref --hard -- some/path/to/file 时,这总是会出现。真正的问题是为什么git reset 甚至在我们有git checkout 时接受git reset some-ref -- some/path/to/file。
在教别人两者之间的区别之前,从来没有想过这个。
【问题讨论】:
-
这更像是“我的印象”而不是“答案”(因此作为评论),但是:git 充满了冗余的做事方式,我认为很大程度上是有机增长的结果.这是真正让新手感到困惑的事情之一,有 5982 种方法可以做 X,其中一半以上出于某种原因是坏主意,其余大部分都是笨拙的,而最好的三种方法干净简单,没有选择一个而不是另一个的理由。 :-)
-
取消暂存更改怎么样?
git add somefile.txt, 哇,git reset somefile.txt. -
@GabrielePetronella 是的,但这个用例不是问题。问题是将某些文件路径的索引重置为先前的提交。
标签: git git-checkout git-reset