jen.test@wswp0 MINGW64 /c/inetpub/wwwroot/2.0 (master)
$ git fetch
jen.test@wswp0 MINGW64 /c/inetpub/wwwroot/2.0 (master)
$ git checkout origin/master -- testFile.php
jen.test@wswp0 MINGW64 /c/inetpub/wwwroot/2.0 (master)
$ git status testFile.php
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
modified: testFile.php
jen.test@wswp0 MINGW64 /c/inetpub/wwwroot/2.0 (master)
$
这就是我想要做的-我已经从另一台计算机上更改了多个文件,包括testFile.php。这些文件被提交到仓库,我执行了“ git push origin master”。我想从仓库中获取最新的testFile.php,而不是其他文件。
答案 0 :(得分:1)
我认为您执行的命令可能会引起一些混乱。完成git fetch
后,您确实更新了跟踪分支origin/master
。但是,您没有实际上没有更新本地master
分支,因为您从未合并过git pull
。命令:
git checkout origin/master -- testFile.php
实际上使用来自另一个分支的版本更新testFile.php
的本地工作副本。这似乎令人困惑,但是在您执行此操作时,本地master
和分支origin/master
并不是同一个人。
然后,git status
报告说,此文件相对于本地master
分支的HEAD已更改。