Git 第一篇:簡單介紹


Git是一個開源的分布式版本控制系統,分布式相比集中式的最大區別是Git沒有“中央版本庫”,每一位開發者都可以通過克隆(git clone)遠程代碼庫,在本地機器上初始化一個完整的代碼版本,開發者可以把代碼的修改提交到本地代碼庫,也可以把本地的代碼庫同步到遠程的master代碼庫。常用的工作流程是:開發者通過git pull/fetch命令把遠程的代碼庫和本地的master代碼庫(主分支)進行合並,解決沖突之后,把本地代碼庫推送(git push)到遠程的master代碼庫。

一,安裝Git

Git支持Linux、Windows和Mac系統,安裝Git,可以到Git官方網站直接下載安裝程序。在使用Git管理代碼的過程中,開發人員還需要一個代碼編輯器,本文使用VS Code。

安裝Git的過程中,選擇VS Code作為Git的默認編輯器,其后面的步驟都使用默認選項,一直點擊Next就可以完成安裝。

如何在VS Code中使用Git來管理代碼,請閱讀《VS Code使用Git管理代碼》,本文不再贅述。

二,Git的目錄結構

Git的目的是實現離線的多人協作,工作流程概括如下:

  • Git系統有兩個代碼庫,遠程服務器上的代碼庫(也稱作遠程庫)和用戶在本地主機上創建的代碼庫(也稱作本地庫)。
  • 用戶通過 fetch/clone命令把遠程庫同步到本地庫,通過push命令把本地庫的主分支同步到遠程庫。
  • Git系統具有分支功能,每個代碼庫都有主(master)分支或輔分支,輻分支獨立於主分支之外,用於對代碼進行修改而不影響其他開發者的工作。
  • Git在本地庫上默認創建主分支(master),同步到遠程庫的更新都是通過主分支來的。用戶可以創建輻分支,在輻分支上修改代碼,經調試沒有異常后,合並到主分支,提交到本地庫。

創建本地庫的過程是非常簡單的,用戶在本地主機上創建一個空目錄,執行 git init 或 git clone命令后,該目錄就變成Git的本地庫,其根目錄中會自動生成一個.git的隱藏目錄,而Git進行版本控制所需要的文件,則都放在.git文件夾中。

在本地代碼倉庫根目錄中,除.git目錄之外的所有與.git同級的目錄及其子目錄都叫做工作區。

Git中獨有的術語,理解這些術語非常重要:

  • 遠程倉庫(Remote):也叫作資源庫,是遠程機器上的代碼庫。
  • 本地庫(Repository):是用戶在本地創建的目錄,擁有遠程庫的一個快照,由工作區和版本庫構成。
    • 工作區(Workspace):本地庫的根目錄中除.git目錄以外的內容,存儲內容的實際文件;
    • 版本庫(.git目錄):是本地庫的根目錄中的一個隱藏目錄.git,用於記錄版本信息,Git進行版本控制所需要的文件,則都放在.git文件夾中;
      • 暫存區(Index):也叫做緩存區,暫存信息存放在.git目錄"下的index文件(.git/index)中,用於臨時保存內容的修改;
      • HEAD文件:是.git目錄下的HEAD文件(.git/HEAD),指向最后依次提交的結果。
  • 分支(Branch):本地庫中默認創建一個主(master)分支,分支意味着你可以從開發主線上分離開來,然后在不影響主線的同時繼續工作。

開發人員通過Git命令來管理代碼,最常用的6個命令如下圖所示:

 

三,Git工作流程

從一般開發者的角度來看,使用Git的工作流程是:

  1. 克隆遠程庫:從遠程庫上克隆完整的Git倉庫(包括代碼和版本信息)到本地;
  2. 在本地庫上修改代碼:在本地庫上根據不同的開發目的,創建分支,修改代碼;
  3. 提交到分支:在本地分支上提交代碼;
  4. 把修改合並到本地主分支:在本地庫上提交更新,也就是說,把修改合並到本地主分支;
  5. 把遠程庫合並到本地主分支:把遠程庫上的最新代碼fetch下來,跟本地主分支合並,如果存在沖突,那么解決沖突。
  6. 把本地主分支提交到遠程庫:生成補丁(patch),把補丁發送給遠程庫。

化繁為簡,Git最核心的工作流程是:當把遠程庫克隆到本地之后,使用Git的工作流程大致是修改本地庫、把改動推送到遠程庫。

step1,克隆遠程庫

使用 git clone 從遠程代碼庫中拷貝代碼到本地,默認在本地創建一個master分支的代碼庫,git clone命令會創建遠程庫和本地庫之間的關聯:

git clone [url]

step2,checkout 

checkout 命令的作用主要是切換或者新建分支,在本地創建一個新的分支,並把工作空間切換到新的分支(Branch)上。

step3,提交到本地庫

用戶在工作空間內添加或修改文件,把文件的修改添加到暫存區,使用如下命令:

git add <filename>

這是 git 基本工作流程的第一步;使用如下命令以實際提交改動:

git commit -m "comments"

現在,改動已經提交到本地庫,但是還沒推送到遠端倉庫。

step4,把修改推送到遠程庫
由於改動只存在於在本地倉庫中了,還需要通知其他用戶代碼已更新。執行push命令把改動提交到遠端代碼庫,默認是推送到master分支:

git push origin master

也可以把 master 換成你想要推送到的任何目標分支。

 

 

 

參考文檔:

Git的原理簡介和常用命令


免責聲明!

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



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