1. 程式人生 > >android studio git使用

android studio git使用

1

前言

以前專案版本管理工具一直用的都是SVN,現在換成Git,並且專案託管平臺使用的是GitLab。雖然經常用GitHub,但是卻很少使用到分支,因為都是自己在寫,也不用開發版與釋出版、打Tag那些,所以這篇文章主要講下GitLab與Git的使用。

這篇文章還是會按我以前的寫作風格,寫的通俗易懂,並且全程自己操作一遍,目的是為了初學者也能看懂。

2

簡介

Git:Git是一個開源的分散式版本控制系統,可以有效、高速的處理從很小到非常大的專案版本管理。簡單說,它就是一個管理專案版本的工具。

GitLab:GitLab 是一個用於倉庫管理系統的開源專案,使用Git作為程式碼管理工具,並在此基礎上搭建起來的web服務。簡單說,GitLab的性質是和GitHub一樣的,都是用來儲存專案的倉庫。

3

準備 Git

3.1 安裝Git

下載地址:

http://git-scm.com/download/

安裝步驟:雙擊安裝,按預設選項一路下去即可。

安裝完成後,在開始選單裡找到“Git”-->“Git Bash”,出現如下圖,就說明Git安裝成功!

3.2 配置資訊

在上圖命令列中輸入你的使用者名稱與郵箱

$ git config -- globaluser.name "Your Name"

$ git config -- globaluser.email "[email protected]"

命令中的 --global 引數表示你這臺機器上所有的Git倉庫都會使用這個配置。

3.3 Android Studio中配置Git

在Android Studio中點選Settings-->Version Control --> Git,然後在Path To Git executable上輸入你剛剛安裝Git的位置,最後點選Test按鈕出現Git executed successfully說明配置成功,如下圖:

4

GitLab 使用

4.1 註冊賬號

這裡說下注冊賬號的時候需要注意的事項。

如果註冊賬號的時候提示如下錯誤

therewas an errorwith the reCAPTCHA,please solve the reCAPTCHA again

那是因為註冊時需要驗證碼驗證,就是reCAPTCHA,是一個圖形驗證碼。但是這個驗證碼需要FQ才能看得到,否則你一直都註冊不了。如圖:

4.2 GitLab賬戶配置SSH Keys

4.2.1 首先需要檢查你電腦是否已經有 SSH Keys

在Git Bash 客戶端,輸入如下程式碼:

$cd~/.ssh

$ls

如下說明已經存在,存在就可以忽略步驟4.2.2,直接進入步驟4.2.3

4.2.2 建立一個 SSH Keys

在Git Bash 客戶端,輸入如下程式碼:

$ ssh-keygen -t rsa -C "your_email"

然後根據提示進行相應操作,如下圖所示:

第一個Enter表示Keys儲存的位置,預設按回車鍵即可。第二個和第三個Enter表示Push檔案的時候要輸入的密碼,不需要密碼就預設按回車鍵即可,然後出現如圖底部資訊就說明建立成功了!

4.2.3 GitLab配置SSH Keys

進入上圖所示儲存 id_rsa.pub 的資料夾拷貝該檔案中的內容,然後登入你的GitLab賬號,點選網頁右上角的頭像-->Settings,點選左邊選單欄的 SSH Keys 進入頁面新增 SSH key。如下操作:

4.3 建立專案

在GitLab網站點選導航條上的 “+” 即可進入建立專案的頁面,然後根據提示填寫相應資訊,如下圖:

  • Project path:專案路徑
  • Project name:專案名稱
  • Project deion (optional):專案描述(可選項)
  • Visibility Level:可見登記,Private表示私有的,只有你自己或者組內的成員能訪問,Internal表示所有登入的使用者,Public表示公開的,所有人都可以訪問。

建立完成後是這樣的:

5

Android Studio中使用Git

5.1 將專案上傳到GitLab

本地已建立好的專案為WildmaGit

5.1.1 配置忽略檔案

Android Studio建立專案後會自動生成.gitignore檔案,這個檔案可以用來忽略那些不用加入到倉庫的檔案。專案根目錄下與module目錄下都會生成該檔案,如下:

一般情況下我們只需要將專案根目錄下的/.idea/workspace.xml與/.idea/libraries改成.idea即可,其他沒有特殊要求就用預設的。如下:

修改前:

修改後:

5.1.2 初始化本地Git倉庫

點選Android Studio頂部選單欄上的VCS-->Import into Version Control-->Create Git Repository,如圖:

然後選擇需要初始化的專案根目錄,如圖:

初始化之後發現檔名由原來的白色變成了紅色,這表示檔案已經被git跟蹤了,但是並沒有新增到倉庫中。如圖:

5.1.3 將本地Git倉庫已與遠端倉庫進行關聯

開啟專案資料夾,在該資料夾中開啟Git Bash。輸入如下命令後就代表本地Git倉庫已與遠端倉庫進行關聯了。

gitremote add origin git @gitlab.com:wildma/WildmaGit.git

具體步驟見下圖:

其中 [email protected]:wildma/WildmaGit.git 為我們專案的遠端地址,可以到我們前面建立專案中複製,如下:

5.1.4 新增檔案

選中專案的根目錄,點選Android Studio頂部選單欄上的VCS-->Git-->Add...,如下圖:

新增檔案後發現檔名由原來的紅色變成了綠色,說明已經將檔案新增進倉庫了。如下圖:

5.1.5 提交檔案

每次提交前需要先更新專案,原因是如果是多人合作的專案,需要先將遠端倉庫中他人提交的最新程式碼更新到本地倉庫。如圖:

然後選中Merge,點選OK,如果原生代碼與遠端程式碼有衝突就會彈出衝突提示,根據需求Merge即可,如圖:

Update後就可以提交檔案了,選中專案的根目錄,點選Android Studio頂部選單欄上的VCS-->Git-->Commit Directory...,如圖:

然後會彈出如下提交框,這裡可以選擇你要提交的檔案和填寫提交資訊,如圖:

提交檔案後發現檔名由原來的綠色又變成了最開始的白色,說明已經將檔案提交上倉庫了。如圖:

5.1.6 將提交的檔案推送到遠端倉庫

選中專案的根目錄,點選Android Studio頂部選單欄上的VCS-->Git-->Push...,如下圖:

然後會彈出如下推送框

點選Push後,就可以在GitLab上看到剛剛推送的內容了。如下圖:

5.2 從GitLab上clone專案

首先到GitLab上覆制專案的地址,如圖:

然後點選Android Studio頂部選單欄上的VCS-->Checkout from Version Control-->Git ,如圖:

最後填寫相應的資訊即可,如下圖:

  • Git Repository URL:填寫剛剛複製的專案地址
  • Parent Directory:專案路徑
  • Directory Name:專案資料夾名稱

點選clone後,專案就clone下來了!

5.3 分支管理

5.3.1 分支策略

在實際開發中,我們會用到很多分支。這裡說下各分支的作用。

  • master分支:最穩定的分支,儲存需要釋出的版本,不在該分支上做任何開發。
  • dev分支:開發分支,儲存最新的程式碼,平時開發就在該分支上。當某個版本開發完成後就合併到master分支,然後在master分支進行版本釋出。
  • bug分支:用來修復bug的分支,一般是線上版出現bug的時候,從master分支建立一個新的bug分支進行bug修復,修復完成合併到master分支和dev分支(保證master分支與dev分支同步),然後刪除該bug分支。

實際開發中我主要用到這三個分支,當然每個人都不同,有些人還會細分到功能分支,預發分支。其中master分支與dev分支都需要推送到遠端,為了其他成員能共同開發,bug分支則放在本地即可,你自己修復完bug刪掉即可。

5.3.2 分支操作

1. 建立分支

點選Android Studio頂部選單欄上的VCS-->Git-->Branches...,如圖:

然後選擇New Branch,輸入分支的名字,例如“dev”,如圖:

點選OK,分支dev就建立成功了,並且預設切換到該分支。重複上面的步驟可以看到當前分支顯示的是dev,如圖:

2. 推送分支到遠端

這時候我們在dev分支上修改內容,然後按照前面說的提交檔案(步驟5.1.5),將提交的檔案推送到遠端倉庫(步驟5.1.6)即可。如圖:

點選push,然後就可以到Gitlab上看到我們剛剛推送的dev分支了,如圖:

3. 切換分支

dev分支上版本V1.0開發完了,需要將程式碼合併到master上進行釋出。因為當前在dev分支,所以需要先切換到master分支,點選Android Studio頂部選單欄上的VCS-->Git-->Branches...,開啟Git Branches視窗,然後選擇本地分支欄下的master->origin/master,然後點選Checkout。如圖:

4. 合併分支

第三步已經將分支切換到master了,現在進行分支合併。點選Android Studio頂部選單欄上的VCS-->Git-->Branches...,開啟Git Branches視窗,然後選擇遠端分支欄下的origin/dev,然後點選Merge。如圖:

這個時候到GitLab上卻發現master分支上並沒有合併到dev分支修改的內容,那是因為剛剛只是將遠端dev分支的內容合併到本地master分支,本地master分支還沒有push到遠端,push一下就可以啦~ 如圖:

這個時候發現GitLab上master分支與dev分支是保持一致的了。然後將最新的master分支打包釋出即可!

5. 刪除分支

刪除本地分支:

點選Android Studio頂部選單欄上的VCS-->Git-->Branches...,開啟Git Branches視窗,選中本地dev分支,選擇Delete即可。如圖:

刪除遠端分支:

點選Android Studio頂部選單欄上的VCS-->Git-->Branches...,開啟Git Branches視窗,選中遠端dev分支,選擇Delete即可。如圖:

5.4 標籤(Tag)管理

標籤一般是用於標記某個釋出的版本, 例如你釋出了版本v1.0,這個時候會打一個v1.0的Tag,主要是方便以後檢視和管理某個版本的程式碼。

1. 建立標籤

點選Android Studio頂部選單欄上的VCS-->Git-->Tag...,如圖:

然後填寫Tag名稱與Tag資訊,點選Create Tag即可建立本地標籤。其中Commit可填寫以前某次提交記錄的id,表示在該次提交上打Tag。如果不填表示Tag打在最新提交的commit上。如圖:

2. 推送標籤到遠端

點選Android Studio頂部選單欄上的VCS-->Git-->Push...,如圖:

然後彈出Push框,選中Push Tags,點選Push即可推送到遠端。如圖:

最後到GitLab就可以看到剛剛建立的Tag了,如圖:

3. checkout某個標籤的程式碼

點選Android Studio頂部選單欄上的VCS-->Git-->Branches...,如圖:

然後選擇Checkout Tag or Revision...,最後在彈出的Checkout框中填入Tag的名稱即可。如圖:

4. 刪除標籤

在Android Studio中沒找到刪除Tag的操作,所以這裡用Git命令。(有發現的小夥伴可以告訴我)

檢視本地標籤:

git tag

刪除本地標籤:

git tag -d tagName

刪除遠端標籤:

git push origin :refs/tags/tagName

以上命令需要在Android Studio自帶的命令列中輸入,如圖:

希望這種圖文結合的方式大家都能看懂吧!寫的不好的地方請多交流~