Git常用開發(fā)流程

前言

我們在【Git常用命令備忘】中,對Git的所有命令進行了匯總。但是,Git在項目中如何價值最大化地實踐,我們卻沒有提及,更沒有深入挖掘。樓主希望通過本文,將自己在實際項目中對Git的使用描述出來,使之能讓讀者對Git有更深入地理解。

【注】:本文側重于實踐和運用,不會涉及到底層原理和git的詳細使用。若讀者有這方面的訴求,請參考下面文章:1. 廖雪峰-Git教程;2. gitscm官網-底層原理

名詞解釋

  1. 資源庫,又叫遠程倉庫,用于存放包括源代碼和配置在內的項目文件
  2. 工作副本,維護著版本管理系統(tǒng),版本管理系統(tǒng)使用本地文件方式實現(xiàn)
  3. 客戶端工具,和資源庫進行通信、同時維護工作副本版本的客戶端工具
  4. 項目,倉庫存放著項目,項目是倉庫的邏輯單元
  5. 分支,項目的時間軸,項目可以有多條分支,不同分支允許有重疊的時間軸節(jié)點
  6. 標簽,可以簡單地等同于項目版本,或者迭代里程碑

工作流程

樓主先根據自己的理解,給出工作流程的整體結構圖~

Git工作流程

為了更清楚地說明工作流程,我們給出一定的解釋說明

  1. 【工作副本】可以通過pull操作從【資源庫】拉取更新
  2. 【工作副本】可以通過push操作往【資源庫】推送更新
  3. 【工作副本】通過【版本管理系統(tǒng)】(本地文件系統(tǒng))維護著修改歷史
  4. 【工作副本】在修改之后,需要將修改結果提交到【版本管理系統(tǒng)】
  5. 【工作副本】可以脫離【資源庫】而獨立地工作,【資源庫】是為了【工作副本】可以多人協(xié)作而提供的管理工具

最佳實踐

在Git的使用過程中,為了盡量避免或減少代碼沖突,我們需要遵循一定的操作順序。有時代碼沖突不可避免,當出現(xiàn)了代碼沖突,我們通過怎樣的方式能夠很快、很好地對沖突的代碼進行合并操作呢?

  1. 修改代碼之前,先從資源庫pull
  2. 修改之后,提交之前,從資源庫pull時如果出現(xiàn)代碼沖突,切記不要直接進行合并操作,而是需要在修改完成,且提交成功后再從資源庫pull,然后解決掉沖突
  3. 修改之后,提交之前,從資源庫pull時若沒有代碼沖突,將直接pull成功
  4. push代碼之前,先從資源庫pull,如有沖突,需要先解決掉沖突
  5. 沖突的解決需要將本地修改和遠程修改進行對比,然后提供調整之后的文件

Git基本信息設置

設置全局用戶名和郵箱

git config --global user.name author # 將用戶名設為author
git config --global user.email author@corpmail.com # 將用戶郵箱設為author@corpmail.com

設置項目用戶名和郵箱

git config user.name nickname # 將用戶名設為nickname
git config user.email nickname@gmail.com # 將用戶郵箱設為nickname@gmail.com

工作副本的創(chuàng)建和資源庫的克隆

  1. 使用git init命令可在當前文件夾下創(chuàng)建一個【工作副本】
  2. 使用git clone ${remoteUrl}可從資源庫pull一個項目

分支管理策略

借用【廖雪峰-分支管理策略】的說明,我們簡單將其拷貝到這兒。

在實際開發(fā)中,我們應該按照幾個基本原則進行分支管理:

首先,master分支應該是非常穩(wěn)定的,也就是僅用來發(fā)布新版本,平時不能在上面干活;

那在哪干活呢?干活都在dev分支上,也就是說,dev分支是不穩(wěn)定的,到某個時候,比如1.0版本發(fā)布時,再把dev分支合并到master上,在master分支發(fā)布1.0版本;

你和你的小伙伴們每個人都在dev分支上干活,每個人都有自己的分支,時不時地往dev分支上合并就可以了。

所以,團隊合作的分支看起來就像這樣:

分支管理策略

標簽管理

標簽其實是一種特殊的分支,但是其意義卻和分支有著顯著的不同。一個標簽用于標識一個版本的發(fā)布。這兒的版本可以是正式版本,可以是快照版本,也可以是內測、公測版本,等等。

IDEA集成git

當我們對Git命令使用得非常熟悉之后,我們需要進一步提高我們的工作效率。怎么提高?我們往往通過IDE來操作其中集成的Git。IDEA作為當前最受Java開發(fā)者歡迎的IDE工具,我們需要關注其中Git相關的常用操作。

  1. pull操作(快捷鍵:Ctrl + T)
pull操作
  1. push操作(快捷鍵:Ctrl + Shift + K)
push操作
  1. 添加操作(快捷鍵:Ctrl + Alt + A)
添加操作
  1. 提交操作(快捷鍵:Ctrl + K)
提交操作
  1. 分支管理
分支管理
  1. 回退操作(快捷鍵:Ctrl + Alt + Z)
回退操作
  1. 設置資源庫
設置資源庫
  1. 顯示修改歷史,可顯示單個文件,也可以顯示整個項目
顯示修改歷史

總結

本文根據樓主多年的Git使用經驗總結而出,主要從下面幾個部分對git進行了簡單地總結。

  1. 對Git的理解
  2. Git的工作流程
  3. Git的最佳運用
  4. 分支管理
  5. IDEA和Git集成使用

樓主希望通過這樣的講述讓讀者對Git有一個更深入地理解,也讓自己對Git有一個比較直觀地總結。

參考鏈接

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • Git常用語法 [TOC] Git簡介 描述 ? Git(讀音為/g?t/。)是一個開源的分布式版本控制系統(tǒng),...
    君惜丶閱讀 3,933評論 0 13
  • 一、 Git 常用命令速查 git branch 查看本地所有分支 git status 查看當前狀態(tài) git c...
    LOVE_晴天閱讀 2,405評論 0 10
  • 多種多樣的工作流使得在項目中實施Git時變得難以選擇。這份教程提供了一個出發(fā)點,調查企業(yè)團隊最常見的Git工作流。...
    JSErik閱讀 4,599評論 2 8
  • Git 基礎 基本原理 客戶端并不是只提取最新版本的文件快照,而是把代碼倉庫完整的鏡像下來。這樣一來,任何一處協(xié)同...
    __silhouette閱讀 16,197評論 5 147
  • 隨著智能硬件的普及,物聯(lián)網越來越觸及人們的日常生活。而互聯(lián)網是我們熟得不能再熟的,因為其已經和我們的生活息息相關了...
    璃_2fe0閱讀 391評論 0 0

友情鏈接更多精彩內容