Git EGit的使用心得與技巧

NO IMAGE

一圖勝千言

Git的基本使用


下載專案

GitHub略卡,所以使用coding.net做我程式碼的託管,同樣也支援pages服務,以後再轉到GitHub上

下載專案有Https和SSH兩種方式:

  • Https是輸入使用者名稱和密碼進行下載

  • SSH是使用祕鑰的方式

SSH的方式就是自己本地random一個公鑰和私鑰,然後把公鑰交出去,自己儲存好公鑰和私鑰,連線的時候不用輸入密碼,直接就可以連線。

eclipse可以自動生成祕鑰:Window-preferences-General-Network Connections-SSH2

​下圖中ssh-rsaAAAAB3...就是公鑰。

生成祕鑰

存放路徑

下載專案:進入eclipse的Git Repositories,輸入URL(https或者ssh),然後指定本地的倉庫位置,專案就會下載到本地。然後通過eclipse的匯入專案功能,把程式碼匯入進來,但不要勾選複製到工作空間,因為這樣複製的程式碼不會加入版本控制。

提交

Git提交步驟是先要add,然後commit,最後push。add就好比讓Git知道這個檔案需要加入版本控制,commit後提交到本地倉庫,這也就是Git與SVN的差別之一,Git沒有中心伺服器的概念,沒有網也可以提交。有網的時候再push到遠端倉庫。在eclipse中使用EGit可以直接commit替代先add再commit的兩步操作,但是這裡要點選這個按鈕才能看到未加入版本控制的檔案。

提交程式碼

更新

在eclipse裡更新直接pull就可以了,pull相當於先fetch merge,先將遠端倉庫更新到本地,然後合併,如果有衝突的話會提示解決。

覆蓋更新

進入同步工作空間進行對比,右鍵選擇要恢復的檔案,選擇Overwrite

衝突解決

​衝突解決的方法是先進行同步工作空間發現有衝突的檔案後,先pull,這時候會出現衝突標記(HEAD>>>>>><<<<<<<<<<<),然後右鍵衝突的檔案Merge Tool進行解決,解決後,先add,然後commit,最後push,衝突就解決了。

分支

​分支又是Git與SVN一個不同的地方,也是讓我感覺Git強大的地方。當下載專案後,會有一個master主分支,當我開發新功能,或者修改bug時候,使用SVN的時候我會直接在上面修改,修改完測試,成功後提交,沒有開發完或者沒改完的檔案不提交。而現在使用Git的做法是直接建立對應的bug、新功能等分支,不直接在主分支上修改,等新分支開發完成後,直接合併到主分支上去。愜意~

命令


刪除遠端分支

$ git push origin :test
push同名空分支,也就是相當於刪除分支。

需要注意的問題


  • ​一般我使用git更多的採用https方式下載專案,因為比較方便,如果提交大檔案的話,要採用ssh的方式,否則有可能會產生問題。