[英]Checked out a repo from remote but when I do a git status a file shows up as modified — how to fix?
[英]git: File shows up as modified immediately after checkout from repo
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,而不是其他文件。
我認為您執行的命令可能會引起一些混亂。 執行git fetch
,您確實更新了跟蹤分支origin/master
。 但是,您實際上並沒有更新本地master
分支,因為您從未合並或進行過git pull
。 命令:
git checkout origin/master -- testFile.php
實際上使用來自不同分支的版本更新testFile.php
本地工作副本。 這似乎令人困惑,但是在您執行此操作時,您的本地master
和分支的origin/master
不是同一個人。
然后, git status
報告此文件相對於本地master
分支的HEAD已更改。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.