天天看點

IDEA版本控制工具VCS中使用Git,以及快捷鍵總結(不使用指令)

場景介紹:

工作中多人使用版本控制軟體協作開發,常見的應用場景歸納如下:

假設小組中有兩個人,組長小張,組員小袁

場景一:小張建立項目并送出到遠端Git倉庫

場景二:小袁從遠端Git倉庫上擷取項目源碼

場景三:小袁修改了部分源碼,送出到遠端倉庫

場景四:小張從遠端倉庫擷取小袁的送出

場景五:小袁接受了一個新功能的任務,建立了一個分支并在分支上開發

場景六:小袁把分支送出到遠端Git倉庫

場景七:小張擷取小袁送出的分支

場景八:小張把分支合并到主幹

下面來看以上各場景在IDEA中對應的操作。

建立好項目,選擇VCS - > Import into Version Control -> Create Git Repository

IDEA版本控制工具VCS中使用Git,以及快捷鍵總結(不使用指令)

接下來指定本地倉庫的位置,按個人習慣指定即可,例如這裡選擇了項目源代碼同目錄

IDEA版本控制工具VCS中使用Git,以及快捷鍵總結(不使用指令)

點選OK後建立完成本地倉庫,注意,這裡僅僅是本地的。下面把項目源碼添加到本地倉庫。

下圖是Git與送出有關的三個指令對應的操作,Add指令是把檔案從IDE的工作目錄添加到本地倉庫的stage區,Commit指令把stage區的暫存檔案送出到目前分支的倉庫,并清空stage區。Push指令把本地倉庫的送出同步到遠端倉庫。

IDEA版本控制工具VCS中使用Git,以及快捷鍵總結(不使用指令)

IDEA中對操作做了一定的簡化,Commit和Push可以在一步中完成。

具體操作,在項目上點選右鍵,選擇Git菜單

IDEA版本控制工具VCS中使用Git,以及快捷鍵總結(不使用指令)
IDEA版本控制工具VCS中使用Git,以及快捷鍵總結(不使用指令)
IDEA版本控制工具VCS中使用Git,以及快捷鍵總結(不使用指令)

因為是第一次送出,Push前需要指定遠端倉庫的位址。如下圖,點選Define remote後,在彈出的視窗中輸入遠端倉庫位址。

IDEA版本控制工具VCS中使用Git,以及快捷鍵總結(不使用指令)

即克隆項目,操作如下:

IDEA版本控制工具VCS中使用Git,以及快捷鍵總結(不使用指令)

輸入小張Push時填寫的遠端倉庫位址

IDEA版本控制工具VCS中使用Git,以及快捷鍵總結(不使用指令)

接下來按向導操作,即可把項目從遠端倉庫克隆到本地倉庫和IDE工作區。

這個操作和首次送出的流程基本一緻,分别是 Add -> Commit -> Push。請參考場景一

擷取更新有兩個指令:Fetch和Pull,Fetch是從遠端倉庫下載下傳檔案到本地的origin/master,然後可以手動對比修改決定是否合并到本地的master庫。Push則是直接下載下傳并合并。如果各成員在工作中都執行修改前先更新的規範,則可以直接使用Pull方式以簡化操作。

IDEA版本控制工具VCS中使用Git,以及快捷鍵總結(不使用指令)

建分支也是一個常用的操作,例如臨時修改bug、開發不确定是否加入的功能等,都可以建立一個分支,再等待合适的時機合并到主幹。

建立流程如下:

IDEA版本控制工具VCS中使用Git,以及快捷鍵總結(不使用指令)

選擇New Branch并輸入一個分支的名稱

IDEA版本控制工具VCS中使用Git,以及快捷鍵總結(不使用指令)

建立完成後注意IDEA的右下角,如下圖,Git: wangpangzi_branch表示已經自動切換到wangpangzi_branch分支,目前工作在這個分支上。

點選後彈出一個小視窗,在Local Branches中有其他可用的本地分支選項,點選後選擇Checkout即可切換目前工作的分支。

IDEA版本控制工具VCS中使用Git,以及快捷鍵總結(不使用指令)

如下圖,點選Checkout

IDEA版本控制工具VCS中使用Git,以及快捷鍵總結(不使用指令)

注意,這裡建立的分支僅僅在本地倉庫,如果想讓組長小張擷取到這個分支,還需要送出到遠端倉庫。

切換到建立的分支,使用Push功能

IDEA版本控制工具VCS中使用Git,以及快捷鍵總結(不使用指令)
IDEA版本控制工具VCS中使用Git,以及快捷鍵總結(不使用指令)

使用Pull功能打開更新視窗,點選Remote欄後面的重新整理按鈕,會在Branches to merge欄中重新整理出新的分支。這裡并不想做合并,是以不要選中任何分支,直接點選Pull按鈕完成操作。

IDEA版本控制工具VCS中使用Git,以及快捷鍵總結(不使用指令)

更新後,再點選右下角,可以看到在Remote Branches區已經有了新的分支,點選後在彈出的子菜單中選擇Checkout as new local branch,在本地倉庫中建立該分支。完成後在Local Branches區也會出現該分支的選項,可以按上面的方法,點選後選擇Checkout切換。

IDEA版本控制工具VCS中使用Git,以及快捷鍵總結(不使用指令)

新功能開發完成,體驗很好,項目組決定把該功能合并到主幹上。

切換到master分支,選擇Merge Changes

IDEA版本控制工具VCS中使用Git,以及快捷鍵總結(不使用指令)

選擇要合并的分支,點選Merge完成

IDEA版本控制工具VCS中使用Git,以及快捷鍵總結(不使用指令)

附上VCS導航項及其每一子項的拆解介紹,其中,加粗部分的選項是部落客認為比較重要的。

  • VCS
    1. Local history
      • Show History ( 檢視本地曆史 )
      • Show History for Selection ( 檢視所選檔案的本地曆史 )
      • Put Label
    1. VCS Operations Popup ( 彈出版本控制操作窗 ) 

      Alt + 反引号

    2. Commit Changes ( 送出修改,用Git話是送出到本地暫存區 ) 

      Ctrl + K

    3. Update Project ( 項目更新,用Git話是從Remote拉取代碼 ) 

      Ctrl + T

    4. Integrate Project
    5. Refresh File Status
    6. Show Changes ( 檢視本地修改清單 ) 

      Ctrl + Shift + Alt + D

    1. Git
      • Commit File ( 進行送出修改 ) 

        Ctrl + K

      • Add ( 添加版本控制 ) 

        Ctrl + Alt + A

      • Annotate ( 顯示/隐藏注釋 )
      • Show Current Revision( 檢視目前版本号 )
      • Compare with the Same Repository Version ( 與目前遠端倉庫的目前檔案進行對比 )
      • Compare with Latest Repository Version ( 與目前最新倉庫的目前檔案進行對比 )
      • Compare with ( 彈出版本曆史清單進行選擇對比 )
      • Compare With Branch ( 彈出分支進行選擇對比 )
      • Show history ( 檢視目前檔案的Git送出修改曆史 )
      • Show History for Selection ( 檢視目前選擇内容的Git送出修改曆史)
      • Revert ( 撤銷修改 ) 

        Ctrl + Alt + Z

      • Resolve Conflicts
      • Branches ( 分支相關操作 )
      • Tag ( 标簽相關操作 )
      • Merge Changes ( 合并修改 )
      • Stash Changes ( 暫存修改 )
      • UnStash Changes ( 取消暫存修改 )
      • Reset HEAD
      • Remotes
      • Clone
      • Fetch
      • Pull
      • Push ( 從本地暫存區送出到Remote ) 

        Ctrl + Shift + K

      • Rebase
      • Rebase my GitHub fork
      • Create Pull Request
    1. Create Patch
    2. Apply Patch
    3. Apply Patch from Clipboard
    4. Shelve Changes
    1. Checkout from Version Control ( 從版本控制中檢出項目 )
      • Github
      • Mercurial
      • Subversion
      • TFS
    2. Import into Version Control ( 導入項目到版本控制 )
      • Import into CVS
      • Create Git Repository ( 建立Git出庫 )
      • Import into Subversion ( 導入到SVN )
      • Create Mercurial Repository
      • Share Project On Github ( 分享項目到Github )
    3. Browse VCS Repository
      • Show Git Repository Log
      • Browse Subversion Repository
    4. Sync Settings