Mac環境下AS配置Git

如要轉載,請註明來源,小石頭的博客:  http://blog.csdn.net/lu1024188315
如果你還沒有安裝Git,請參考這篇文章:《Git安裝之Window Mac
   在這裏說下Git使用簡單的原理,如果你看了這篇文章:《Mac上Git之創建本地庫》你對git應該會有基本的認識,想要把自己的文件提交到遠程庫裏,首先要在本地(自己的電腦上)建立本地庫,這個庫將會是你的本地工作區,而本地庫中.git文件將會是你的緩衝區(這個文件是隱藏文件),你使用Git add命令時,只是把文件添加到緩衝區,再調用 Git commit 命令時纔是提交文件到緩衝區的當前分鐘(master)分支,然後通過push 命令把文件推送到遠程庫,當然前提情況下,是你已經和遠程庫建立關聯了,囉嗦了這麼多,我們回到AS,其實AS使用Git提交代碼,道理是一樣的,首先建立本地庫,AS把當前的項目文件作爲本地庫,也就是Git的工作區,然後和遠程庫建立關聯,就可以實現push代碼和pull代碼。

1、配置git

android Studio一般安裝後已經自行配置了git程序所在的位置,如果沒有的話,可以按照下圖進行配置 


Mac版,會自己識別填充 例如我的: /usr/local/bin/git。
點擊test,是這樣的:

2、對項目啓用git管理 就是在當前目錄下建立本地庫

(1)方案一 使用 Enable Version Control Integration

這步是將項目納入git管理之下,點擊android studio菜單欄的VCS後,選擇Enable Version Control Integration. 




在彈出的框裏選擇Git 

此時,你到該項目目錄下查看會發現有個.git文件當然這個文件是隱藏的,如何查看參考Mac上Git之創建本地庫》標題2。

(2)方案二  VCS——>import into version control ——> Create Git Repository 然後出現下面界面:

 

選擇你的當前項目目錄,就可以了,此時,你到該項目目錄下查看會發現有個.git文件當然這個文件是隱藏的,如何查看參考Mac上Git之創建本地庫》標題2。

(3)方案三 使用Git init命令

打開終端,使用cd命令進入到你的項目,例如 我的項目在  /Users/xxx/androidStudioProjects/WindowsApp, 命令如下:
$ cd   /Users/xxx/androidStudioProjects/WindowsApp
或者
$ cd   androidStudioProjects/WindowsApp

使用下列命令進行初始會:

$ git init

建議使用第一種方案簡單方便,快捷。 

3、添加項目

選完上述操作之後可以發現文件名都變成紅色了,如圖:


然後,選中你要上傳的項目右鍵——>Git——>add,之後變成了這樣:

變成綠色的,這是綠色的文件等下就是你要上傳的東東。

4 鏈接遠程的Git服務

(1)打開終端,使用cd命令進入到你的項目,例如 我的項目在  /Users/xxx/androidStudioProjects/WindowsApp, 命令如下:
$ cd   /Users/xxx/androidStudioProjects/WindowsApp
或者
$ cd   androidStudioProjects/WindowsApp
(2)鏈接遠程倉庫:
git remote add origin xxx
xxx 代表 你在 http://git.oschina.net/ 創建項目後,可以訪問的地址:
那麼,我的就是: $ git remote add origin   https://git.oschina.net/lzbgit/windowapp.git
如果你不會在[email protected]建立項目或找不到所建立項目的Url請參見這篇《 Git之本地庫提交到開源庫(Window) 》文章的第2和第6標題。
(3)建立本地分支和遠程分支的關聯
$   git branch —set-upstream master origin/master

5 提交項目

回到AS,選擇你要提交的項目右鍵——>Git——>Commit Directory 。
建議先執行VCS -> Git -> Fetch, VCS -> Git -> Pull把最新代碼拉下來,這樣可以儘量避免衝突
此過程可能會提示你再輸入遠程服務的地址,也就是剛剛使用的Git地址:


說明下, commit 是指提交到 本地庫,也就是master分支;
              commit and push很明顯同時進行了兩個動作一個是commit 和push  直接把項目提交到遠程庫了。
也許你也可以按照下面兩個步驟操作:
(1)回到AS,選擇VCS -> Git -> Fetch, VCS -> Git -> Pull把最新代碼拉下來,
(2)提交代碼,選擇VCS -> Commit Changes經過漫長的等待會出現代碼提交窗口,右下角選擇 Commit And Push 
說明,之所以先進行pull的操作,因爲在[email protected]建立項目的會自動生成幾個文件,例如gitignoreLICENSEREADME.md,如果直接提交的話,可能造成無法提交,可能提示這個異常:
Push to origin /master was rejected;如果真出現這個異常了,也不要急,參考標題6-2的解決方案。

以上過程如果出現如下的情況(沒有就不用看了):


那麼你就點擊Define remote,輸入遠程服務的URL,例如我的是:

還可能提示你輸入[email protected]的賬號和密碼,直接輸入就可以了,到這裏應該可以提交你的項目到遠程庫裏,
刷新下你的遠程庫,應可以看到類似的結果:

到此說明你提交成功。
如果還是無法 push的話,那你可以進入命令編輯框進行進行強行push,命令如下:
$ git push -u origin master -f

6 可能出現的異常

(1) Authentication failed

GitHub push代碼發生錯誤:fatal: Authentication failed for 'https://github.com/ ...

使用的https提交,在用SourceTree提交代碼時候發生錯誤,返回的錯誤提示說:

解決方案,重新執行git  config命令配置用戶名和郵箱即可:
  1. git config -–global user.name "xxx" 
  2. git config –-global user.email "[email protected]
注意一定加上參數  -–global,不然你的配置是一次性的。
(2)Push to origin /master was rejected
解決方案一:按照標題4提出的先pull再提交。
解決方案二:VCS --> Git --> Branches——> then select origin/master --> Rebase onto 
     這個過程,可能會彈出來個對話框,要你手動合併衝突,如果你是第一次提交,且遠程庫中沒有什麼內容(除了自動生成的幾個文件),
那你可以直接選擇 accept yours 就是說,衝突的地方以你的文件爲準;如果不是第一次提交,出現了這個東東,那恭喜你,有工作要做了,那就按照提示一行一行的進行合併了。
如果還沒有辦法解決,那哥們對不起了,我也無能爲力了。
寫了這麼多,希望能幫到你吧!

如果這篇文章不能幫助到你,可以點擊這裏,也許有驚喜!