在Android Studio 和 Eclipse 的 git 插件操做 "代碼提交"以及"代碼衝突"

面向對象:曾經使用過SVN的同窗。服務器

(由於Git 它 能夠說是雙重的SVN (本地一個服務器,遠程一個服務器)),提交代碼要有兩次步驟,先提交到本地服務器,再把本地服務器在提交到遠程服務器。網絡

因此連SVN的同窗都沒有使用過就好好使用一下SVN吧。工具

a1.代碼更新。對象

在SVN中操做,咱們要提交已經修改過的代碼前,必定會記住。blog

"先更新,在提交" (否則你的小夥伴的代碼就被你全覆蓋了,而後你的小夥伴就會躲在公司牆角畫圈圈了)ip

因此在Git裏面操做。也是這樣的。不過就多了一個步驟,就是 先更新 "遠程服務器 --> 本地服務器",再進行 更新 " 本地服務器 --> 本地代碼"。開發

咱們仍是上圖吧。編譯器

Eclipse的操做就是:it

1.指向表明的意思是隻更新 "遠程服務器 --> 本地服務器" 簡稱(Fetch)io

當你更新後,你當前更新的項目與Git Repositories都會有相似一個向下的箭頭,這表明「遠程服務器」有東西更新到你的「本地服務器 」,具體數量就是箭頭隔壁的數字

2.指向表明的意思是 "遠程服務器 --> 本地服務器" 與 " 本地服務器 --> 本地代碼" 都執行  簡稱(Pull)

(固然有前後順序的,先 "遠程服務器 --> 本地服務器" 後 " 本地服務器 --> 本地代碼")

這個操做實際上是面向懶人把Git當成SVN使用,一步更新,官方也是不推薦這樣作,由於這樣,你本地代碼,可能一會兒代碼衝突不少,給開發人員帶來不少不便。

因此仍是老實點,一步步來更新吧。

而在Android Studio的操做就是:

1.不知道怎麼回事,在Android Studio就沒有兩步更新的操做,只有上面兩個箭頭的操做,都是直接把"遠程服務器 --> 本地服務器" 與 " 本地服務器 --> 本地代碼"  都執行了,

因此一更新完,你就等着去解決衝突吧。

a2.說完更新,接着說提交代碼。

其實通過剛纔的更新講解後,小夥伴們都知道"遠程服務器 --> 本地服務器" 與 " 本地服務器 --> 本地代碼" 的關係了,

因此提交代碼實質上都要走這樣的操做 " 本地代碼 --> 本地服務器"  "本地服務器 --> 遠程服務器" 

仍是上圖吧!

其實小夥伴就記住兩個詞就行了。

Commit : " 本地代碼 --> 本地服務器"

Push :  "本地服務器 --> 遠程服務器" 

Eclipse的操做就是:

1.從上面的圖中看到,在Git的做出修改,會有一個箭頭指向。

而後你右鍵項目又好,右鍵箭頭文件也好。都是執行commit操做。

去到commit界面

Git 的Commit有種強迫症,必定要你打註釋,否則不給你提交。

當你敲入 Commit Message後,Commit 與 Commit and Push 就會可點擊了

Commit只是提交到 "本地服務器" 

Commit and Push 就兩步都會作( " 本地代碼 --> 本地服務器"  "本地服務器 --> 遠程服務器" 有前後順序,我下次不說了)

後面我就不寫了。由於後面的都是敲帳號和密碼,若是你第一次 Push 代碼 的話,才須要敲。

一般 Push  不了,無非就兩個問題。

第一。你代碼衝突尚未解決,一會 「代碼衝突」 說具體講解

第二。就是可惡的網絡問題。(同窗。這個我可幫不了你了)

其餘的,我暫時沒有遇到

而在Android Studio的操做就是:

具體與Eclipse的同樣差很少,

就是Git  Repositories 變成

經過這裏你能夠知道你的修改的代碼Push 了沒有

而後。

接着仍是那些填帳號密碼的操做,就不說了。

b 說說代碼衝突吧。

 

1.先說Eclipse吧:

若是你是先修改完代碼尚未commit,在執行Fetch,那你尚未feel到代碼衝突。

I.只要你commit到本地服務器,IDE編譯器就自動告訴你,已經衝突,要求你馬上解決。

II.若是你比較任性的話。直接想Commit And Push, IDE編譯器也會很任性的回覆你這樣的圖

拒絕你Push,說你還有問題沒有解決。

可是你已經Commit了,可是又沒法Push,

這是你應該要執行一下 Pull ,把 剛纔Fetch 的代碼植入"本地代碼",這時IDE編譯器才自動告訴你,已經衝突,要求你馬上解決。

而且把衝突文件標記爲一個雙向箭頭

如圖

若是你如今還想執意Push代碼,獲得的就是下圖:

Repository state : Conflicts(簡單意思就說:大哥,代碼衝突啊,解決後,再提交吧)

而後,你解決後,保存,發現,那個文件仍是像下圖的那樣,沒法提交。

這時,應該

執行這樣「Add to Index 」的操做,告訴IDE編譯器你已經解決衝突了,以下圖:

如今你就能夠去Commit 也好,Commit And Push 也好,IDE編譯器都會經過的(其實告訴你。去吧,騷年!)

2.Android Studio在 在更新代碼時,

若是按工具欄的更新圖標的話,若是有衝突時 就強制性讓你去解決衝突。出現下圖

經過點擊Merge能清楚知道,你的代碼,解決後衝突的代碼,服務器的代碼

解決後衝突的代碼直接覆蓋你的本地代碼。(或者你點擊Close,而後衝突的代碼直接跳在你的本地代碼,讓你在本地代碼修改。)

解決完衝突後,就能夠Commit和Push了。比Eclipse方便一點點。

相關文章
相關標籤/搜索