
- Git 入門
- Git - 首頁
- Git - 版本控制
- Git - 基本概念
- Git - 命令列
- Git - 安裝
- Git - 首次設定
- Git - 基本命令
- Git - 獲取幫助
- Git - 工具
- Git - 速查表
- Git - 術語
- Git 分支
- Git - 簡述分支
- Git - 建立新分支
- Git - 切換分支
- Git - 分支和合並
- Git - 合併衝突
- Git - 管理分支
- Git - 分支工作流程
- Git - 遠端分支
- Git - 追蹤分支
- Git - 變基
- Git - 變基 vs. 合併
- Git - 合併提交
- Git 操作
- Git - 克隆操作
- Git - 打標籤操作
- Git - 別名操作
- Git - 提交操作
- Git - 暫存操作
- Git - 移動操作
- Git - 重新命名操作
- Git - 推送操作
- Git - 拉取操作
- Git - Fork 操作
- Git - Patch 操作
- Git - Diff 操作
- Git - 狀態操作
- Git - 日誌操作
- Git - HEAD 操作
- Git - origin master
- Git 撤銷
- Git - 撤銷更改
- Git - checkout
- Git - revert
- Git - reset
- Git - 恢復操作
- Git - rm
- Git - switch 操作
- Git - cherry-pick
- Git - amend
- 伺服器上的 Git
- Git - 本地協議
- Git - 智慧 HTTP 協議
- Git - 簡單 HTTP 協議
- Git - SSH 協議
- Git - Git 協議
- Git - 在伺服器上獲取 Git
- Git - 設定伺服器
- Git - 守護程序
- Git - GitWeb
- Git - GitLab
- Git - 第三方託管選項
- 分散式 Git
- Git - 分散式工作流程
- Git - 為專案做貢獻
- Git - 維護專案
- 自定義 Git
- Git - 配置
- Git - 鉤子
- Git - 屬性
- Git - init
- Git - commit
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 雜湊值標識,這是一個基於提交內容的唯一識別符號,方便跟蹤或引用歷史記錄中的特定提交。