Android Studio上的Git操作
一、閱讀提醒
1.本文章適用於已經對git有一定的瞭解,即知道git是幹什麼的。(也要知道Android Studio是幹啥的......)
2.本文章結合本人實際開發的經驗以及圖解在進行講解(會涵蓋一些基本的git操作)
二、寫作原因
1.在如今的Android開發過程中,一般的公司都會選擇git作為版本控制工具,以此來進行團隊協作開發。
像SVN這種集中式程式碼控制工具已經漸漸的退出了舞臺。(二者的區別請自行百度)
2.git操作也是現今考察一個程式設計師能力的因素,如果能夠熟練掌握git的操作,那麼在實際專案開發過程中,
遇到一些程式碼衝突,分支開發等問題將能夠做到應對自如。
三、Android Studio關聯Git
1.首先,git是一個軟體工具,因此需要我們先自行進行下載安裝。同樣,Android Studio也是一樣。
當兩者都已經安裝完成後,就可以開始Android Studio與Git的協作之旅了。2.開啟Android Studio,進入setting介面,與本地的git進行關聯。如下所示三部曲:
gitset.png3.在本地選擇一個合適的資料夾,將這個資料夾起一個你愛聽的名字(我通常習慣以我開發的專案的名字命名)。
然後進入這個資料夾,單擊滑鼠右鍵。然後點選Git Bash Here啟動git客戶端。如圖所示:
- 4.啟動git後,首先要進行git的初始化操作,輸入如下操作:
git init
- 5.初始化後,首先我們需要將我們的工程克隆(拷貝)到我們本地,輸入以下操作:
git clone 你們專案的託管地址(我下圖演示的在githup上面clone專案)
- 6.然後會提示你輸入你的賬號密碼來確定你有clone程式碼的許可權。一切正確後就會成功的將程式碼clone到本地。這三步的過程圖示如下:
- 7.當專案拷貝成功後,我們就可以通過Android Studio開啟這個工程。啟動Android Studio,點選Open existing Android Studio Project來開啟剛剛拷貝的工程。接下來,我就要開始寫和標題有關的內容了。為什麼叫Android Studio上的git操作呢?因為Android Studio真的是一個十分牛逼的開發工具,在它的terminal終端可以輸入git命令來進行程式碼的拉取,提交等操作。(說句題外話,可能大部分人不是用我的這種方式進行程式碼的拉取和提交等操作,都習慣在操作時使用git客戶端。我們專案組五個人,四個人就是用git客戶端,只有我直接在Android Studio上操作,但我真覺著這樣挺方便的,因為不用再特意開啟客戶端了,哈哈哈哈)
四、常用的Git操作
1.檢視本地分支:
git branch
gitbranch.png
2.新建本地分支並切換到新建分支:
git checkout -b 新分支名(是兩步操作的組合,即git branch 新分支 和 git checkout 新分支)
建立完成後,通過上述git branch操作,即可檢視到新建的分支。
3.本地分支的刪除:
git branch -D 刪除的分支名
4.檢視遠端庫:
git remote
5.新增遠端庫:
git remote add 遠端庫名(自己命名) 遠端庫的託管地址
新增完成後,即可通過git remote操作檢視到剛剛新增的遠端庫。
6.程式碼的拉取:
git pull origin(遠端庫) develop(遠端分支):develop(本地分支)
這裡說明一下,遠端庫,遠端分支,以及本地分支的名字都可以自己命名,但習慣上一般把遠端分支的名字和本地分支的名字命名一樣,方便弄清各個分支。
7.程式碼的提交:
首先,git關聯的專案,當我們做了修改之後,檔案的顏色會變成藍色(如果是新建立的則為綠色,需要我們在建立之後,在檔案上右鍵點選git -->add)。當我們準備提交後,點選Android Studio頂部的綠色的箭頭向上的VCS按鈕進行程式碼的提交。點選後,所有修改的檔案以及新建立的檔案都會顯示出來。然後選中我們想要提交的檔案在前面勾選上,在下面輸入此次提交的一些備註,比如,此次做了什麼改動。然後點選commit按鈕。操作如下:
gitcommit.png8.將提交的程式碼推到遠端庫:
git push origin(遠端庫) develop(本地分支):develop(遠端分支)
這裡的分支命名和拉取程式碼操作講述的命名原理一樣,同時,在程式碼的pull和push過程,需要輸入使用者名稱和密碼進行驗證(這裡我承認比較麻煩,但是對於記性不好的人來說就當牢記自己密碼了,哈哈哈哈)
9.刪除遠端分支:
前面我們講到了刪除本地分支的方法,這裡刪除遠端分支的方法略有不同,採用間接的方式,即:
git push origin :develop
可以理解成,推了一個空的分支到遠端分支,其實就相當於刪除了對應的遠端分支。
10.程式碼的快取:
往往在我們的開發過程中,由於多人寫作,很有可能你正在修改的檔案已經被別人修改了,這樣的話如果你直接拉取程式碼的話,很容易造成程式碼的衝突,為防止這樣的問題出來,我們應該在每次提交程式碼之前,先拉取最新的程式碼。這裡就需要先將本地修改的檔案進行快取,快取之後進行程式碼的拉取。這裡快取的方式有兩種。
1.git stash // 直接不命名,用於拉完程式碼立即還原的快取
2.git stash save 快取名(自己命名) // 在快取時指定名字方便還原時找到
在程式碼拉取成功後,再將剛剛快取的檔案還原回來。這裡也有兩種方法。
1.git stash pop // 直接將最頂部的快取應用
2.git stash apply 快取名 // 還原指定名字的快取
檢視快取:
git stash list
11.檢視歷史版本號:
git log --oneline -10(這個數量自己指定)
12.版本回退:
在上一步操作中我們可以檢視到歷史的版本號,對應的每一步提交前面都有一個唯一的標識,當我們想回退到之前的某一版本時,我們只需輸入以下操作:
git reset --hard 版本號
13.分支的合併:
平時開發中,我們肯定會建立相應的開發分支進行開發,一般不會在主分支上直接開發,在開發分支上開發完成後,在將新分支上開發的內容合併到主分支上。這時,操作如下:
1.首先保證我們已經切換回主分支,比如主分支是origin:git checkout origin
2.接下來合併開發分支:git merge develop(開發分支名)
3.然後刪除開發分支:git branch -D develop // 這一步隨便,不刪除也行