如何`git checkout .`工作

时间:2017-07-31 12:47:20

标签: git github

我使用git checkout .从我的工作索引中删除了本地更改。

有谁知道git在幕后做了什么?

1 个答案:

答案 0 :(得分:1)

更新工作树中的文件以匹配索引或指定树中的版本。如果没有给出路径,git checkout也会更新HEAD以将指定的分支设置为当前分支。

git checkout <branch>

要准备工作,请通过更新工作树中的索引和文件,并将HEAD指向分支来切换到它。保留对工作树中文件的本地修改,以便将它们提交到。

如果找不到,但确实存在一个具有匹配名称的远程(称之为)的跟踪分支,则视为等效于

$ git checkout -b <branch> --track <remote>/<branch>

你可以省略,在这种情况下,命令退化为“检查当前分支”,这是一个带有相当昂贵的副作用的美化无操作,只显示当前分支的跟踪信息(如果存在)

在此处阅读更多https://git-scm.com/docs/git-checkout

为防止数据丢失,如果git checkout需要更改包含未分期更改的文件,则会出现错误。

换句话说,如果你有两个具有不同版本文件的分支,并且你编辑该文件,然后尝试切换到另一个分支,你将收到一个错误,因为它将拒绝替换你的未分级与其他分支的版本一起更改。