Git學習筆記(2)-Eclipse中Git插件使用

  目前我使用的Eclipse luna版本中已經集成了git插件,這裏就不介紹如何安裝Git插件了,不懂能夠看其餘的博客。git

  上篇筆記介紹了Git的基本指令,實際開發中我基本都使用eclipse插件進行代碼提交和更新,下面就介紹下Eclipse中如何使用Git插件。eclipse

  首先看一張Git管理代碼原理圖:fetch

          

  從這張圖中可知道Git管理代碼涉及到4個地方,插件

  Remote:遠程倉庫,或者叫遠程分支,一個項目由多我的開發時,遠程倉庫就是中央代碼庫。3d

  Repository:本地倉庫,顧名思義就是安裝在本地的代碼庫,這也是Git與Svn最大的區別,SVN是集中式管理,每次提交或更新代碼前都要鏈接遠程倉庫,而Git由於有本地倉庫,代碼先提交到本地倉庫,須要時再更新到遠程倉庫,也就是說本地代碼提交和更新無需鏈接遠程倉庫,沒網也能提交和更新代碼。blog

  Index:索引,這就要談到上篇筆記中提到的Git的三種狀態,當代碼由Git託管後,工做區的代碼更改後,狀態會變成已修改(Eclipse中表現爲代碼文件上有一個>標記),那麼想要提交到本地倉庫,必須先將代碼提交到暫存區,這個暫存區就是索引,Eclipse中的指令是Add to Index。索引

  WorkSpace:本地工做空間,這個就很少解釋了。ip

 下面介紹實際工做中代碼的提交與合併,衝突解決。開發

  在你上次更新代碼到遠程倉庫,如今準備寫代碼以前,先pull下遠程倉庫的代碼,這樣可將遠程倉庫的更改合併到本地代碼,這樣作的好處是一般無需手動解決衝突,由於以前你已經把本地倉庫的更改推送到遠程倉庫了,遠程倉庫後面的更改也是在你的代碼基礎上,而你本地代碼並無更改,因此這種狀況下合併是最好最簡單的方式。合併代碼後再寫代碼。博客

  固然你也能夠省略上面這步,直接寫代碼,寫完代碼後add to Index —— commit,將代碼提交到本地倉庫。

  記住這時別急着push到遠程倉庫,由於在你寫代碼這段時間可能其餘人和你同時修改了一個文件的同一個位置,這時你要再次pull下,查看工做空間的代碼有沒有紅色的雙箭頭的,若是有那就要手動解決衝突了。

如圖

  

解決完衝突後,再次Add to Index ——Commit,更新到遠程倉庫前最好仍是pull,只到沒有出現衝突時,再push代碼。

這種方法是最保險的,保證不會影響別人的代碼,也不會出錯。

總結:記住在推送代碼到遠程倉庫時,記得pull代碼,有衝突解決衝突,沒衝突直接push.

 

順便說下pull和fetch的異同,他們都是更新遠程倉庫代碼到本地的,不一樣的是fetch完之後還須要merge一下,而pull一個指令包含了fetch和merge兩個操做。

而後再說下merge和rebase的異同,他們都是用於合併代碼,不一樣的時rebase操做稍微複雜一些,但更仔細一些,它會將遠程文件和本地文件作對比,並標記出衝突的地方,當解決完全部衝突後執行Add to Index操做,而後不要立刻執行commit操做,先執行Continue Rebase操做,而後再執行Commit操做。是否是有寫麻煩?若是使用merge指令就沒有Continue Rebase操做了,但解決衝突就沒那麼明顯了,他自動將遠程和本地的代碼合併到本地,而後用上圖中的形式標記出來。解決完衝突後執行Add to Index ——Commit操做。因此這就看你我的喜愛了。

相關文章
相關標籤/搜索