搜尋

首頁  >  問答  >  主體

在phpstorm裡如何刪掉本地的某一檔案重新取得最新的github裡面的最新版本

我現在有個檔案是a.js 但是本電腦上的a.js不是最新版,我想把他更新為最新版(不和我的這個版本合併,想得到純粹的最新版)

PHPzPHPz2799 天前818

全部回覆(4)我來回復

  • 伊谢尔伦

    伊谢尔伦2017-04-24 09:14:58

    我來給個可靠的答案吧,採納答案也沒有錯只不過不太切題,既沒有針對特定文件操作,也沒有使用 IDE。

    由於我沒有 PHP Storm,所以用它的大哥 IntelliJ IDEA 來舉例。

    其實你沒有必要刪除本地文件再去獲取最新版本,你要做的是:“通過歷史記錄更新指定文件的任意版本”,這其中當然也包括最新版本。那麼有一個前提是你已經取得了最新的歷史記錄,也就是 git fetch,對應的 IDE 操作是:

    接著我們來看如何對指定檔案進行版本更新。

    第一步,查看目標檔案歷史記錄

    第二步,找到你要的版本(無論是新版本還是舊版本都一樣)

    另外,在此時你可以對文件內容進行比對,有助於精確定位你要的版本,如下圖(右鍵選單裡有 Compare...)

    最後,使用 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),所以上述操作往往都是為了回退版本而不是拿到最新版本,除非你就是不要所有版本都更新,那麼我這個答案就是你需要的。

    回覆
    0
  • 阿神

    阿神2017-04-24 09:14:58

    你說的提交指的commit還是push?
    如果只刪除某個檔案的話,直接刪除就好了,
    如果是回退commit,則用revert到要更新前的版本,然後再pull就可以

    回覆
    0
  • 怪我咯

    怪我咯2017-04-24 09:14:58

    跟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 fetchgit fetch
    git checkout origin/master a.jsgit checkout origin/master a.js

    origin是遠端名稱
    master是遠端分支

    回覆
    0
  • ringa_lee

    ringa_lee2017-04-24 09:14:58

    其實不用woody的那麼複雜吧? ?
    直接git checkout a.js就可以了

    回覆
    0
  • 取消回覆