AndroidStudio第一次提交項目代碼到git服務器/github

雖然使用AndroidStudio(如下簡稱as)開發並使用git管理代碼已經有很長時間,可是第一次提交項目到git依然會很不順利,網上的文章或許由於所使用版本比較老,並不必定徹底湊效,所以寫此筆記作下整理。git

首先準備工做git客戶端和as客戶端是不可少的工具,本次使用的是as2.2.2和git2.10.2;github

git:https://git-scm.com/downloads服務器

下載安裝後在as裏面關聯上,點test能夠測試一下,彈出版本就說明關聯成功app

 

下面我分享三種常見操做方式,以界面交互爲主,git命令爲輔。ide

首先說明一點,github算是git服務器的一種,另外還有不少可能會使用到的git服務器,好比經常使用的GitLab,或者csdn的代碼託管服務等等,都是大同小異。這裏以github爲例,可是as裏面是能夠直接share 到github,其餘地方貌似不能夠直接share,參見第三種方法;前兩種是均可以通用的。工具

方法一:先建立項目,後與git鏈接

一、首先咱們建立一個測試項目GitTest,點擊VCS--Enable Version Control Integration,在彈出框右邊選上Git。這個時候會發現項目會發生幾點變化,鼠標右鍵點擊項目出現Git選項;項目文件顏色變爲紅色;在as右下角出現Git:master;以下圖:測試

 
圖1-1

 

 
圖1-2
 
圖1-3

二、在github上建立遠程代碼倉庫GitTest,注意這裏名字能夠和項目名字不同;登陸github,進到我的主頁,點擊切換到Repositories,而後點new建立。能夠寫上描述,選擇公開或私有,也能夠選擇爲項目添加一個README說明文件,以下圖:fetch

 
圖2-1
 
圖2-1

三、切回as,那麼在提交項目以前要作一件很重要的事情,就是配置好gitignore文件,咱們將項目展開會發現as已經幫咱們生成了gitignore文件,在項目根目錄有一個,在app目錄也有一個;那麼在app 模塊裏面很簡單隻有一行/build,這個咱們不用管,那麼在項目根目錄的gitignore文件裏面的內容咱們能夠看一下gradle

 
圖3-1

切換到project模式下咱們會發現,項目中的文件並非都變紅了,有的是白色的,那麼這些沒有變紅的文件就是被這個gitignore文件忽略掉的,那麼咱們關心的是哪些文件應該被忽略掉哪些文件不該該忽略?是as能在編譯過程當中自動生成的文件都不該該提交上去;也就是說我傳上去的代碼,別人拉取下來經過as編譯可以正常跑起來,而且這個時候本地不產生能夠提交的文件;這些文件主要包括.idea、.gradle、iml文件、以及配置sdk路徑的local.properties等等,as爲咱們自動生成並非很全面,這裏推薦一個github上列出來的https://github.com/github/gitignore/blob/master/Android.gitignore咱們也可使用這個。這個文件以前是把整個.idea文件夾都忽略的,後來又改爲只忽略其中部分文件,不知道爲何,我認爲只要是能夠自動生成的就能夠忽略,即時每一個人生成的都同樣。ui

四、準備好了以後下面開始提交代碼了,在項目根目錄上右鍵Git-->Add將代碼添加到索引庫,而後Git-->Commit Directory提交到本地倉庫;到此爲止咱們依然沒有和github聯繫上;

五、將代碼push到遠程倉庫Git-->Repository-->push到遠程倉庫,在彈出框裏面輸入以前建立的git遠程倉庫地址https://github.com/AndSync/GitTest.git,點OK,若是沒登陸會提示登陸,之前登陸過就不提示了,完了以後點push。

 

 
圖5-1

這時候在右上角會有一個提示push rejected ,緣由是咱們本地倉庫的master主線並無和遠程倉庫的master主線綁定上,那麼首先Git->Repository-->fetch一下,獲取到遠程master分支,這時候發現右下角有變化了,顯示出來了origin/master,

 
圖5-2

而後咱們須要經過命令來完成綁定,在Terminal裏面能夠輸入命令,這段命令怎麼來的,其實若是你不用as可視化工具 而是用命令去 git push 的話是會提示給你的,告訴你應該輸什麼命令,git仍是很智能的,建議仍是多用命令來操做。

git branch --set-upstream-to origin/master

而後咱們再去push 這時候能夠了,會彈出一個merge提示框,咱們點merge又報錯了,哦是否是由於建立項目的時候有一個文件README,那咱們pull一下看行不行,發現也報錯,因而咱們要祭出另外一句git命令來解決這個問題

 
圖5-3

git pull --allow-unrelated-histories

容許拉取不相關的歷史記錄,把README拉取過來了,固然若是你建立項目的時候沒有建立README可能沒這麼麻煩,這時再去push就OK了。整個過程到此結束

方法二:先建立鏈接,後建立項目

這個怎麼玩的呢,簡要說明一下,以前不是有安裝git客戶端,應該在任何地方鼠標右鍵都有一個菜單Git Gui here -->Clone Existing Repository

 
 

注意本地路徑文件夾GitTest2事先不要建立

 
 

clone完了以後,在這個目錄下會有一個.git文件夾,和readme文件,那麼到這一步咱們也能夠發現這種方式貌似並不適用於新建項目,由於這個文件夾裏面有文件as將沒法在這個目錄下建立文件,那麼這適用於從別的地方考過來一個已有的項目放到這裏,以後從as打開項目進行add、commit、push等操做便可。

方法三:直接share到github

很簡單,無需先在github上建立項目,直接share,若是須要修改gitignore文件能夠先修改下。

一、VCS-->import into Version Vontrol-->Share Progect on Github

 
 

二、登陸賬號

 
 

三、填寫信息

 
相關文章
相關標籤/搜索