为什么切换分支的git命令叫做
git checkout
?这名字真的有意义吗?我认为应该改成git switch
。除此之外,git checkout
还有其他含义:比如回滚文件(类似于svn revert
)。git checkout
?这名字真的有意义吗?我认为应该改成git switch
。除此之外,git checkout
还有其他含义:比如回滚文件(类似于svn revert
)。git checkout
的作用以及为什么“checkout”可能是描述它的合理方式。然而,虽然我非常喜欢git,但这确实触及了两个严重的挫败点,当我试图帮助人们理解该系统时会出现这些问题:git checkout
执行两个非常不同的操作,如果它们是分开的命令,对新手会很有帮助。checkout
)就是一个很好的例子。另一个例子是commit
,在git中完全是本地的,在CVS/SVN中完全依赖于服务器——对于新接触git的人来说,“记录”的darcs术语需要更少的重新学习。我喜欢的另一个例子是你在git中看到的消息“需要更新”,这实际上意味着"需要提交" :)更新: VonC在评论中提供了一个有趣的别名来使git checkout
更加安全,适用于两种用法;)
git --version
命令并与当前版本进行比较。 - Marcelo Scofano Diniz我会将其命名为git switch。
在Git 2.23(2019年8月)中,您不再需要使用令人困惑的git checkout
命令。
您可以像您八年前建议的那样,使用git switch
代替。
如果您需要更新工作树(而不是切换分支),则新命令git restore
负责此任务。
请参阅来自Taylor Blau的“Git 2.23亮点”了解更多信息。
由于该命令可用于执行两个操作,因此使用“checkout”关键字“有意义”。
这两个操作是:
当您想要区分提交ID和分支名称时,还可以使用“--”参数。
checkout
指的是更新工作树中的文件。
还原也意味着将工作树中的文件更新为其先前提交的版本。
因此,在我的看法中,使用 git checkout
命令来更新或还原更加现实。