我已經把項目的最後一個版本推到了Git。git沒有拉我的遠程文件,並說已經是最新的
我想做一個實驗:我改變一個文件development.rb。
而我運行git pull我希望我的本地文件development.rb將被遠程文件development.rb所取代。但事實並非如此。爲什麼?
我已經把項目的最後一個版本推到了Git。git沒有拉我的遠程文件,並說已經是最新的
我想做一個實驗:我改變一個文件development.rb。
而我運行git pull我希望我的本地文件development.rb將被遠程文件development.rb所取代。但事實並非如此。爲什麼?
這不是git的工作方式。如果你這樣做:
git status
你會看到你有一個未決的本地更改。
你可以扔掉這一變化,並恢復到上次提交具有:
git checkout -- development.rb
這是正確的。 「git pull」會將任何遠程更改引入本地存儲庫,但不會影響您當前的工作目錄。由於您推送後沒有對遠程存儲庫進行任何更改,因此您的本地存儲庫確實是最新的。 –
您應該首先git checkout development.rb
,或者git pull
會嘗試將遠程更改與您的本地更改合併。
這是因爲你的腦袋或者是在同一點,什麼是對遠程分支提前。我假設你development.rb文件還沒有被本地提交,所以您可以:
git checkout HEAD development.rb
要刪除本地更改development.rb。
[強制git覆蓋拉本地文件]的可能的重複(http://stackoverflow.com/questions/1125968/force-git-to-overwrite-local-files-on-pull) –