面向對象:曾經使用過SVN的同窗。服務器
(由於Git 它 能夠說是雙重的SVN (本地一個服務器,遠程一個服務器)),提交代碼要有兩次步驟,先提交到本地服務器,再把本地服務器在提交到遠程服務器。網絡
因此連SVN的同窗都沒有使用過就好好使用一下SVN吧。工具
a1.代碼更新。對象
在SVN中操做,咱們要提交已經修改過的代碼前,必定會記住。ip
"先更新,在提交" (否則你的小夥伴的代碼就被你全覆蓋了,而後你的小夥伴就會躲在公司牆角畫圈圈了)開發
因此在Git裏面操做。也是這樣的。不過就多了一個步驟,就是 先更新 "遠程服務器 --> 本地服務器",再進行 更新 " 本地服務器 --> 本地代碼"。編譯器
咱們仍是上圖吧。it
Eclipse的操做就是:io
1.指向表明的意思是隻更新 "遠程服務器 --> 本地服務器" 簡稱(Fetch)編譯
當你更新後,你當前更新的項目與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方便一點點。