Mac環境下AS配置Git

LuZhenBangBlog發表於2017-07-01
如要轉載,請註明來源,小石頭的部落格: 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
如果你不會在Git@OS建立專案或找不到所建立專案的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的操作,因為在Git@OS建立專案的會自動生成幾個檔案,例如gitignoreLICENSEREADME.md,如果直接提交的話,可能造成無法提交,可能提示這個異常:
Push to origin /master was rejected;如果真出現這個異常了,也不要急,參考標題6-2的解決方案。

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


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

還可能提示你輸入Git@OS的賬號和密碼,直接輸入就可以了,到這裡應該可以提交你的專案到遠端庫裡,
重新整理下你的遠端庫,應可以看到類似的結果:

到此說明你提交成功。
如果還是無法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 "xxx@xxx.com" 
注意一定加上引數 -–global,不然你的配置是一次性的。
(2)Push to origin /master was rejected
解決方案一:按照標題4提出的先pull再提交。
解決方案二:VCS --> Git --> Branches——> then select origin/master --> Rebase onto 
     這個過程,可能會彈出來個對話方塊,要你手動合併衝突,如果你是第一次提交,且遠端庫中沒有什麼內容(除了自動生成的幾個檔案),
那你可以直接選擇 accept yours 就是說,衝突的地方以你的檔案為準;如果不是第一次提交,出現了這個東東,那恭喜你,有工作要做了,那就按照提示一行一行的進行合併了。
如果還沒有辦法解決,那哥們對不起了,我也無能為力了。
寫了這麼多,希望能幫到你吧!

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

相關文章