首頁  >  文章  >  開發工具  >  一文帶你讀懂什麼是Git版本管理

一文帶你讀懂什麼是Git版本管理

WBOY
WBOY轉載
2022-02-21 17:53:292839瀏覽

本篇文章中為大家帶來了關於Git版本管理的相關知識,版本管理工具能夠紀錄每次的修改,只要提交到版本倉庫,就可以找到之前任何時刻的狀態,希望對大家有幫助。

一文帶你讀懂什麼是Git版本管理

Git是一個「分散式版本管理工具」。
版本管理工具能夠記錄每次的修改,只要提交到版本倉庫,就可以找到之前任何時刻的狀態。
我們在寫東西的時候都用過撤消這個功能,但是撤消只能回撤有限步,通常關閉編輯軟體後再重新打開,此時的撤銷紀錄都已被清空了。而「版本管理工具」則不同,它能記錄每次的修改,只要提交到版本倉庫,就可以找到之前任何時刻的狀態。

建立倉庫

安裝git軟體後,在任意目錄下建立一個新資料夾,打開,然後執行git init來建立新的git倉庫(該指令將會建立一個名為.git的隱藏子目錄)。

檢出倉庫

執行指令git clone 遠端專案位址,用來複製遠端伺服器上的倉庫。

Git狀態

Git有三種狀態,分別是已提交(committed)、已修改(modified)、已暫存(staged)。

  • 已修改(modified):已修改表示修改了文件,但尚未儲存到資料庫中。
  • 已暫存(staged):表示對一個已修改文件的目前版本做了標記,使其包含在下次提交的快照中。
  • 已提交(committed):資料已經安全的保存在本機資料庫中。

Git的三種狀態分別對應本地倉庫的三個工作流程,本低倉庫是由git維護的三棵樹組成。

  • 第一個是工作目錄,持有實際文件,增刪文件和內容;
  • 第二個是暫存區(Index),像個快取區域,暫時保存改動。輸入git add filename,這次改動就放到了暫存區。
  • 第三個是HEAD,指向最後一次提交的結果。輸入git commit指令,這次改變就放到了本地倉庫。 commit之後的可以稱為一個版本。
    一文帶你讀懂什麼是Git版本管理

git基本工作流程:

  • #提出更改(新增至暫存區)
    使用指令git add (針對特定檔案)或git add *(針對所有檔案)可以提出變更(將它們新增至暫存區)。
  • 提交改動
    使用指令git commit -m 「程式碼提交資訊」 來實際提交改動,執行完後改動就提交到了HEAD,但是還沒到遠端倉庫。
  • 推送改動
    使用指令git push origin master 將改動提交到遠端倉庫master分支(通常不會直接提交到master分支,而是推送到自己的分支,核對無誤後再進行merge )。

分支

前面提到了master分支,那麼如何直覺的了解分支呢?

分支是用來將特性開發絕緣開來的。在創建倉庫的時候,master是「預設」分支。在其他分支上進行開發,完成後再將它們合併到主分支上。
一文帶你讀懂什麼是Git版本管理

git branch test1 建立一個名字為test1的分支。
git checkout test1 #切換目前分支到test1
git checkout -b test1 建立一個叫做「test1」的分支,並切換過去。
git checkout master #切換回主分支。
git branch -d test1 把新建的分支刪掉。
git push origin 將分支推送到遠端倉庫。
git merge test #合併分支。

更新與合併

使用指令git pull 「遠端分支名」 從遠端取得程式碼並合併到本低的版本(在工作目錄中取得(fetch)並合併( merge)遠端的改動)
使用指令git merge “分支名” 把合併其他分支到目前分支。

前面的兩種情況,git都會嘗試去自動合併改動。但合併可能會出現衝突(conflicts),需要手動修改檔案來合併這些衝突。改動後執行git add 將它們標記為合併成功。在合併變更之前,可以使用git diff 來觀察是否有差異。

取代本地改動

如果操作錯誤,可以使用指令git checkout – 取代掉本機變更。此指令會使用HEAD中的最新內容來取代掉工作目錄中的檔案(已新增至暫存區的變更以及新檔案都不會受到影響)

遠端倉庫的移除和重命名

將test重新命名為test1:git remote rename test test1
移除遠端倉庫test1:git remote rm test1

#撤銷操作

取消暫存的檔案:git reset filename
撤銷對檔案的修改:git checkout –filename

歷史紀錄

##使用git log可以得到本地倉庫的歷史記錄。

使用指令git log --author=bob來只看某個人的提交記錄。加入一些參數來修改輸出,從而得到自己想要的結果。
查看哪些檔案改變了: git log --name-status

推薦學習:《

Git教學

以上是一文帶你讀懂什麼是Git版本管理的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除