在這裏說下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。
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
(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
Push to origin /master was rejected;如果真出現這個異常了,也不要急,參考標題6-2的解決方案。
以上過程如果出現如下的情況(沒有就不用看了):
那麼你就點擊Define remote,輸入遠程服務的URL,例如我的是:
刷新下你的遠程庫,應可以看到類似的結果:
到此說明你提交成功。
如果還是無法
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命令配置用戶名和郵箱即可:
- git config -–global user.name "xxx"
- 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 就是說,衝突的地方以你的文件爲準;如果不是第一次提交,出現了這個東東,那恭喜你,有工作要做了,那就按照提示一行一行的進行合併了。
如果還沒有辦法解決,那哥們對不起了,我也無能爲力了。
寫了這麼多,希望能幫到你吧!
如果這篇文章不能幫助到你,可以點擊這裏,也許有驚喜!