我現在有個檔案是a.js 但是本電腦上的a.js不是最新版,我想把他更新為最新版(不和我的這個版本合併,想得到純粹的最新版)
学习是最好的投资!
我來給個可靠的答案吧,採納答案也沒有錯只不過不太切題,既沒有針對特定文件操作,也沒有使用 IDE。
由於我沒有 PHP Storm,所以用它的大哥 IntelliJ IDEA 來舉例。
其實你沒有必要刪除本地文件再去獲取最新版本,你要做的是:“通過歷史記錄更新指定文件的任意版本”,這其中當然也包括最新版本。那麼有一個前提是你已經取得了最新的歷史記錄,也就是 git fetch,對應的 IDE 操作是:
git fetch
接著我們來看如何對指定檔案進行版本更新。
第一步,查看目標檔案歷史記錄
第二步,找到你要的版本(無論是新版本還是舊版本都一樣)
另外,在此時你可以對文件內容進行比對,有助於精確定位你要的版本,如下圖(右鍵選單裡有 Compare...)
最後,使用 Get 選單項目取得指定版本,其對應的指令為 git checkout
git checkout
如上所述,IDE 裡的整合操作還是很方便的,勝過命令列的方面就是圖形化指示相當清晰。但是——命令列更快,更靈活,只要你腦子夠清楚,還是命令列的效率更高一籌。
其實若流程順暢,一半是較少針對特定文件去取得特定版本的。多數情況下我們都是git pull -> 工作-> commit -> 工作-> commit ... -> git pull (maybe 解決衝突) -> git push,每次你git pull 的時候,等於拿到了所有檔案的最新版本(等價於git pull -> 干活 -> commit -> 干活 -> commit ... -> git pull (maybe 解决冲突) -> git push,每一次你 git pull 的时候,都等于拿到了所有文件的最新版本(等价于 git fetch + git merge/rebase + git merge/rebase),所以上述操作往往都是為了回退版本而不是拿到最新版本,除非你就是不要所有版本都更新,那麼我這個答案就是你需要的。
git pull
git push
git merge/rebase
你說的提交指的commit還是push? 如果只刪除某個檔案的話,直接刪除就好了, 如果是回退commit,則用revert到要更新前的版本,然後再pull就可以
跟PhpStorm沒啥關係,就是git基礎操作。 本地刪掉a文件,再把遠端的pull下來。
刪a.jsrm -rf a.js 更新本地git add .git add .git commit -m "deleted a.js"git commit -m "deleted a.js" 合併遠端git fetchgit fetchgit checkout origin/master a.jsgit checkout origin/master a.js
rm -rf a.js
git add .
git commit -m "deleted a.js"
git checkout origin/master a.js
origin是遠端名稱 master是遠端分支
其實不用woody的那麼複雜吧? ? 直接git checkout a.js就可以了
git checkout a.js
我來給個可靠的答案吧,採納答案也沒有錯只不過不太切題,既沒有針對特定文件操作,也沒有使用 IDE。
由於我沒有 PHP Storm,所以用它的大哥 IntelliJ IDEA 來舉例。
其實你沒有必要刪除本地文件再去獲取最新版本,你要做的是:“通過歷史記錄更新指定文件的任意版本”,這其中當然也包括最新版本。那麼有一個前提是你已經取得了最新的歷史記錄,也就是
git fetch
,對應的 IDE 操作是:接著我們來看如何對指定檔案進行版本更新。
第一步,查看目標檔案歷史記錄
第二步,找到你要的版本(無論是新版本還是舊版本都一樣)
最後,使用 Get 選單項目取得指定版本,其對應的指令為
git checkout
如上所述,IDE 裡的整合操作還是很方便的,勝過命令列的方面就是圖形化指示相當清晰。但是——命令列更快,更靈活,只要你腦子夠清楚,還是命令列的效率更高一籌。
其實若流程順暢,一半是較少針對特定文件去取得特定版本的。多數情況下我們都是
git pull
-> 工作-> commit -> 工作-> commit ... ->git pull
(maybe 解決衝突) ->git push
,每次你git pull
的時候,等於拿到了所有檔案的最新版本(等價於git pull
-> 干活 -> commit -> 干活 -> commit ... ->git pull
(maybe 解决冲突) ->git push
,每一次你git pull
的时候,都等于拿到了所有文件的最新版本(等价于git fetch
+git merge/rebase
+git merge/rebase
),所以上述操作往往都是為了回退版本而不是拿到最新版本,除非你就是不要所有版本都更新,那麼我這個答案就是你需要的。你說的提交指的commit還是push?
如果只刪除某個檔案的話,直接刪除就好了,
如果是回退commit,則用revert到要更新前的版本,然後再pull就可以
跟PhpStorm沒啥關係,就是git基礎操作。
本地刪掉a文件,再把遠端的pull下來。
刪a.js
rm -rf a.js
更新本地
git add .
git add .
git commit -m "deleted a.js"
git commit -m "deleted a.js"
合併遠端
git fetch
git fetch
git checkout origin/master a.js
git checkout origin/master a.js
origin是遠端名稱
master是遠端分支
其實不用woody的那麼複雜吧? ?
直接
git checkout a.js
就可以了