Git多人協作


參考了網上的各種資料,對Git多人協作有所了解,寫下此篇筆記,理理自己的思路

概念介紹

我這里只介紹分支,一般項目中,有下面幾種分支

  • master分支
  • develop分支
  • release分支
  • feature分支
  • fix分支
  • hotfix分支

master分支是主分支,一般是由項目經理(負責人)進行管理,一般我們都無法修改其中的內容

develop分支則是在master分支分出來,我們以develop分支作為基本,分出我們的自己需要開發的功能分支,也就是feature分支,之后進行項目的某些功能開發。

開發完之后,與develop分支進行合並,由管理develop分支的開發者進行代碼審查和單元測試,然后發送一個更新到master分支的請求給項目經理。

項目經理再次進行代碼審查和單元測試,確定無誤之后就把develop分支合並到master分支上

master分支

master分支,即主分支。任何項目都必須有個這個分支。對項目進行tag或發布版本等操作,都必須在該分支上進行。

develop分支

develop分支,即開發分支,從master分支上檢出。

團隊成員一般不會直接更改該分支,而是分別從該分支檢出自己的feature分支,開發完成后將feature分支上的改動merge回develop分支。同時release分支由此分支檢出。

release分支

release分支,即發布分支,從develop分支上檢出。

該分支用作發版前的測試,可進行簡單的bug修復。如果bug修復比較復雜,可merge回develop分支后由其他分支進行bug修復。此分支測試完成后,需要同時merge到master和develop分支上。

feature分支

feature分支,即功能分支,從develop分支上檢出。

團隊成員中每個人都維護一個自己的feature分支,並進行開發工作,開發完成后將此分支merge回develop分支。此分支一般用來開發新功能或進行項目維護等。

fix分支

fix分支,即補丁分支,由develop分支檢出,用作bug修復,bug修復完成需merge回develop分支,並將其刪除。所以該分支屬於臨時性分支。

hotfix分支

hotfix分支,即熱補丁分支。

和fix分支的區別在於,該分支由master分支檢出,進行線上版本的bug修復,修復完成后merge回master分支,並merge到develop分支上,merge完成后也可以將其刪除,也屬於臨時性分支。

多人協作流程

開發步驟:

1.設置編碼

去Android Studio的editor->file encodings修改編碼為utf-8格式


2.克隆代碼

使用Android Studio下載源碼

之后在輸入框中輸入項目的github地址即可自動下載

3.創建分支

下面的代碼是創建一個分支,並切換到分支

git checkout -b 分支名(任取)

4.提交、上傳、合並

# 之后在你自己創建的分支上進行功能的開發,完成了一個或多個功能都可以輸入下面的命令進行保存
# 開發功能過程中,add和commit這兩個命令就可以無限循環,寫完一個功能來一次
git add .
git commit -m "說明(大概說一下實現了什么功能)"
# 推送到遠端,實際也是相當於做一個備份,不需要經常執行
git push origin 分支名(第3步中的取的分支名)


# 更新本地的dev,保持與最新的一致
git checkout dev
git pull
# 合並操作
# 這一步可能會出現沖突,需要進行沖突處理,沖突處理完之后重新執行add和commit命令
git merge --no-ff 分支名(第3步取的分支名) 
# 推送合並好的dev分支到遠端,供別的開發者更新
git push origin dev
# 之后切換到你自己的分支,再次進行開發
git checkout 分支名

如果合並出現了沖突錯誤,自己修改一下出現沖突的那些文件

沖突文件的格式如下:

<<<<<<< HEAD
ln -s ../statics xxx
=======
ln -s ../statics statics
>>>>>>> dev

<<< head=======就是你分支中代碼,而=======<<< dev則是dev分支中的代碼,根據自己的要求保留。

假如我要保留我分支的代碼,則照下面的格式刪除其他內容

<<<<<<< HEAD (刪除)
ln -s ../statics xxx (保留)
======= (刪除)
ln -s ../statics statics (刪除)
>>>>>>> dev (刪除)

如果git pull提示no tracking information,則說明本地分支和遠程分支的鏈接關系沒有創建,用命令git branch --set-upstream-to <branch-name> origin/<branch-name>

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

團隊協作的流程:

  1. 首先,可以試圖用git push origin 推送自己的修改;
  2. 如果推送失敗,則因為遠程分支比你的本地更新,需要先用git pull試圖合並;
  3. 如果合並有沖突,則解決沖突,並在本地提交;
  4. 沒有沖突或者解決掉沖突后,再用git push origin 推送就能成功!
  5. 如果git pull提示no tracking information,則說明本地分支和遠程分支的鏈接關系沒有創建,用命令git branch --set-upstream-to <branch-name> origin/<branch-name>

git+github 團隊協作


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM