1. 程式人生 > >Android Studio專案與Git託管

Android Studio專案與Git託管

1.      簡單理解之間的關係:

其整體結構可以看成三部分:

A:資料夾/檔案例項;

B:本地git倉庫;

C:遠端git倉庫。

他們之間的工作原理流程:首先建立一個本地git倉庫,然後將檔案(夾)例項add進來,然後提交commit到本地虛擬快取中,把本地git倉庫和遠端git倉庫關聯起來,最後將本地git倉庫內容push推送到遠端git倉庫(關聯推送有兩種方式:https和ssh)

(本教程通過ssh,需要提前配置好ssh)

 

 

2.      三者之間建立聯絡:

首先as中的工程專案可以看成是資料夾檔案例項,然後選定工程目錄把自己變成為本地git倉庫



當專案資料夾變成了本地git倉庫以後,目錄下面的檔案就會變紅色,

 

3.      選擇工程資料夾,滑鼠右鍵,將工程內容add到本地git倉庫中去


當工程內容add到本地的git倉庫中後,檔名會變成綠色;

 

4.      將本地git倉庫和遠端git倉庫關聯起來,commit提交至快取並push推送到遠端倉庫


如圖,找到as工程資料夾,點選滑鼠右鍵,git bash here通過git bash命令將本地git倉庫和遠端git倉庫關聯起來

 

5.      可以通過進入as中檢視工程是否有關聯到對應的遠端倉庫,如圖:


點選pull進入


如圖,可以看到工程已關聯remote倉庫John/Test.git,且Branches to merge中有origin和master選項,此時可以commit提交和push推送as工程到git遠端倉庫上去。

 

6.      將本地git倉庫關聯git遠端倉庫後,即在as中選擇專案,滑鼠右鍵將工程提交併推送到git遠端倉庫上去,如圖:


 

7.      點選Commit Directory…將工程提交併推送到遠端git倉庫上去

如上圖


如圖所示,選擇Commit and Push…將工程提交併推送到遠端git倉庫上去,大功告成。

注意:首次提交,Commit Message欄一定要填寫備註資訊,否則無法提交,並會彈出對話方塊提示:please specify commit message。

 

8.      疑難雜症:

1.      在步驟5中,如果點選pull進去有remote遠端倉庫,但Branches to merge中沒有origin和master是怎麼回事,怎麼辦?

2.      在as專案中,應該右鍵app資料夾還是工程名字資料夾


在Android下選擇app資料夾右鍵


3.      

在Project下Test工程名右鍵

兩者上傳到遠端倉庫時又會有什麼差別呢?

 

 

 

 

解答:8.1 沒有origin 和master 的話,有兩種可能:

1.可能是在關聯遠端倉庫時出了差錯;

2.可能是as工程沒有提交和推送到遠端git倉庫

以上兩種只是猜測,待驗證

如果是第一種情況,在git bash時可以 git init初始化倉庫

或者 git remote rm origin取消關聯倉庫,

然後再重新關聯 git remote add origin…

如果是第二種情況就正常流程提交,注意第一次提交推送必須要填寫

Commit Message,否則無法提交且系統提示。

         實踐證明:1.通過git bash 命令將本地git倉庫和遠端git倉庫關聯起來後,如圖


如圖,在Branches to merge欄並沒有出現origin和master,沒有毛病,當as工程提交到遠端git倉庫上去後才會在Branches to merge欄出現origin 和master

 

8.2目前簡單來看,提交Android下的app資料夾是一些主要的檔案,

 而提交Project下的工程名資料夾則會包括app在內及一些配置檔案


8.3  在as工程中,可以單個檔案提交推送,也可以整個目錄提交推送,看需要。

單個修改提交推送的話選擇單個檔案,推送,(可以右鍵或vcs),選了檔案就

沒有add選項,只能commit和推送

8.4當從github,gitlab等地方clone他人的as工程時,工程預設Remote是他人的git遠端倉庫,可以直接提交到他人git遠端倉庫,但需要輸入他人密碼或者被拒絕(前提也是as工程需要變成本地git倉庫)