Git 提交



git commit 命令是 Git 中最基本和最常用的功能之一,它是版本控制的基石。它允許開發者記錄對專案程式碼庫所做的更改的快照,建立可以重新訪問、分支或回滾的提交歷史記錄。每個提交都作為一個檢查點,使使用者能夠了解進行了哪些更改、為什麼進行更改以及誰進行了更改。

進行提交時,Git 會生成一個新的物件,表示此時倉庫的狀態,允許您回滾到此狀態或稍後分析它。

Git 中的每個提交都有

  • 一個唯一的識別符號(雜湊值),根據更改和提交元資料生成。

  • 作者資訊,指示誰進行了提交。

  • 一個提交資訊,描述所做的更改。

  • 父提交引用,將其連結到專案歷史記錄中的先前提交,形成一個鏈。

git commit 的基本用法

在 Git 中提交更改的最簡單形式包括暫存您要包含在提交中的檔案,然後執行git commit 命令。

為提交暫存檔案

在進行提交之前,需要使用 git add 命令將更改新增到暫存區

git add <file>

暫存所有更改

git add .

建立提交

一旦更改被暫存,使用git commit建立新的提交

git commit -m "Your commit message here"

-m 標誌指定提交資訊。此資訊應具有意義且簡潔,描述更改的內容。

git commit 的常用選項

git commit 命令提供各種選項來修改其行為。以下是一些最常用的選項

-m (資訊) 選項

-m 標誌用於直接從命令列指定提交資訊。這是向提交新增資訊的最常用方法

git commit -m "Fix bug in login functionality"

-a (所有) 選項

-a 選項自動暫存所有已修改的已跟蹤檔案,跳過git add步驟

git commit -a -m "Update README and add new features"

請注意,這僅暫存已修改和已刪除的檔案。新檔案必須仍然使用git add新增才能提交。

--amend 選項

--amend 選項允許您修改上次提交。如果您需要更新提交資訊或新增先前提交中遺漏的其他更改,這將非常有用

git commit --amend -m "Update login validation for edge cases"

--no-edit 選項

--amend一起使用時,--no-edit 選項允許您修改上次提交而不更改提交資訊

git commit --amend --no-edit

--author 選項

--author 選項用於為提交指定不同的作者

git commit --author="Manisha Patil " -m "Add new feature"

--allow-empty 選項

此選項允許您即使沒有暫存更改也能建立提交。它可以用來在不修改程式碼的情況下向提交歷史新增資訊或標籤

git commit --allow-empty -m "Start a new feature development cycle"

Git Commit 的底層工作原理

建立提交時,Git 會執行以下步驟

  • 建立暫存區的快照:暫存的更改被儲存為一個新的樹物件。

  • 生成提交物件:提交物件包含指向新樹物件的指標、元資料(作者、時間戳)和父提交。

  • 更新分支指標:您所在的當前分支將更新為指向新的提交。如果您處於分離的 HEAD 狀態,則 HEAD 指標將直接更新。

生成的提交由SHA-1 雜湊值標識,這是一個基於提交內容的唯一識別符號,方便跟蹤或引用歷史記錄中的特定提交。

廣告