Git基本命令和GitFlow工作流程

來源:互聯網
上載者:User

Git基本命令和GitFlow工作流程

本篇文章講解了Git的一些基本的團隊協作命令,和GitFlow工作流程指南

git 團隊協作的一些命令
  • 1.開分支

    git branch 新分支名例如,在master分支下,新開一個開發分支:git branch dev
  • 2.切換到新分支

    git checkout 分支名例如,在master分支下,切換到新開的dev:git checkout dev
  • 3.開分支和切換分支合并到一個命令

    git checkout -b 新分支名例如,新開一個開發分支,並立即切換到該分支:git checkout -b dev
  • 4.切換回原分支

    git checkout 原分支名例如,切換回mastergit checkout master注意:當前分支有修改,還未commit的時候,會切換失敗,應當先commit,但可以不用push
  • 5.合并分支

    git merge 需要合并的分支名例如,剛剛已經切換回master,現在需要合并dev的內容:git merge dev建議在GitLab(或者其他git系統)上面建立merge request的形式來進行分支的合并和代碼審核。
  • 6.查看本地分支列表

    git branch -a前面帶remotes/origin 的,是遠程分支
  • 7.查看遠程分支列表

    git branch -r
  • 8.向遠程提交本地新開的分支

    git push origin 新分支名例如,剛剛在master下新開的dev分支:git push origin dev
  • 9.刪除遠程分支

    git push origin :遠程分支名例如,刪除剛剛提交到遠端dev分支:git push origin :dev
  • 10.刪除本地分支

    git branch 分支名稱 -d例如,在master分支下,刪除新開的dev分支:git branch dev -d注意:如果dev的更改,push到遠程,在GitLab(或者其他git系統)上面進行了merge操作,但是本地master沒有pull最新的代碼,會刪除不成功,可以先git pull origin master,或者強制移除git branch dev -D
  • 11.更新分支列表資訊

    git fetch -p
  • 12.TortoiseGit(烏龜git)

    不可否認,在windows下,這個是個不錯的工具。不管你是命令列新手還是重度使用者,我覺得都可以嘗試一下。
Git工作流程指南:Gitflow工作流程

在你開始閱讀之前,請記住:流程應被視作為指導方針,而非“鐵律”。我們只是想告訴你可能的做法。因此,如果有必要的話,你可以組合使用不同的流程

Gitflow工作流程定義了一個圍繞項目發布的嚴格分支模型。雖然比功能分支工作流程複雜幾分,但提供了用於一個健壯的用於管理大型項目的架構。

Gitflow工作流程沒有用超出功能分支工作流程的概念和命令,而是為不同的分支分配一個很明確的角色,並定義分支之間如何和什麼時候進行互動。除了使用功能分支,在做準備、維護和記錄發布也使用各自的分支。當然你可以用上功能分支工作流程所有的好處:Pull Requests、隔離實驗性開發和更高效的協作。

工作方式

Gitflow工作流程仍然用中央倉庫作為所有開發人員的互動中心。和其它的工作流程一樣,開發人員在本地工作並push分支到要中央倉庫中。

曆史分支

相對使用僅有的一個master分支,Gitflow工作流程使用2個分支來記錄項目的曆史。master分支儲存了正式發布的曆史,而develop分支作為功能的整合分支。這樣也方便master分支上的所有提交分配一個版本號碼。

剩下要說明的問題圍繞著這2個分支的區別展開。

功能分支

每個新功能位於一個自己的分支,這樣可以push到中央倉庫以備份和協作。但功能分支不是從master分支上拉出新分支,而是使用develop分支作為父分支。當新功能完成時,合并回develop分支。新功能提交應該從不直接與master分支互動。

注意,從各種含義和目的上來看,功能分支加上develop分支就是功能分支工作流程的用法。但Gitflow工作流程沒有在這裡止步。

發布分支

一旦develop分支上有了做一次發布(或者說快到了既定的發布日)的足夠功能,就從develop分支上fork一個發布分支。建立的分支用於開始發布迴圈,所以從這個時間點開始之後新的功能不能再加到這個分支上 —— 這個分支只應該做Bug修複、文檔產生和其它面向發布任務。一旦對外發布的工作都完成了,發布分支合并到master分支並分配一個版本號碼打好Tag。另外,這些從建立發布分支以來的做的修改要合并回develop分支。

使用一個用於發布準備的專門分支,使得一個團隊可以在完善當前的發布版本的同時,另一個團隊可以繼續開發下個版本的功能。
這也打造定義良好的開發階段(比如,可以很輕鬆地說,『這周我們要做準備發布版本4.0』,並且在倉庫的目錄結構中可以實際看到)。

GitHub 教程系列文章: 

GitHub 使用教程圖文詳解   

Git 標籤管理詳解  

Git 分支管理詳解  

Git 遠程倉庫詳解  

Git 本地倉庫(Repository)詳解  

Git 伺服器搭建與用戶端安裝   

Git 概述  

分享實用的GitHub 使用教程  

更多詳情見請繼續閱讀下一頁的精彩內容:

  • 1
  • 2
  • 下一頁

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.