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"

Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.

Git Commit 的底层工作原理

创建提交时,Git 会执行以下步骤

  • 创建暂存区的快照:暂存的更改被存储为一个新的树对象。

  • 生成提交对象:提交对象包含指向新树对象的指针、元数据(作者、时间戳)和父提交。

  • 更新分支指针:您所在的当前分支将更新为指向新的提交。如果您处于分离的 HEAD 状态,则 HEAD 指针将直接更新。

生成的提交由SHA-1 哈希值标识,这是一个基于提交内容的唯一标识符,方便跟踪或引用历史记录中的特定提交。

广告