Git提交

本文概述

  • git commit命令
  • git commit -a
  • git commit -m
  • Git提交修改(更改提交消息)
【Git提交】它用于记录存储库中的更改。这是git add之后的下一个命令。每个提交都包含索引数据和提交消息。每次提交都会形成父子关系。当我们在Git中添加文件时, 它将在暂存区域中进行。提交命令用于从登台区域到存储库获取更新。
暂存和提交相互关联。暂存使我们能够继续对存储库进行更改, 并且当我们要将这些更改共享给版本控制系统时, 提交使我们能够记录这些更改。
提交是项目的快照。每次提交都记录在存储库的master分支中。我们可以撤回提交或将其还原为旧版本。两个不同的提交永远不会覆盖, 因为每个提交都有自己的提交ID。该commit-id是由SHA(安全哈希算法)算法创建的密码。
让我们看看不同类型的提交。
git commit命令 commit命令将提交更改并生成一个commit-id。没有任何参数的commit命令将打开默认的文本编辑器, 并要求提交消息。我们可以在此文本编辑器中指定提交消息。它将运行如下:
$ git commit

上面的命令将提示默认编辑器, 并要求提交消息。我们对newfile1.txt进行了更改, 并希望其提交。可以按照以下步骤完成:
考虑以下输出:
Git提交

文章图片
当我们运行命令时, 它将提示默认的文本编辑器并要求提交消息。文本编辑器如下所示:
Git提交

文章图片
按Esc键, 然后按“ I”进入插入模式。随便键入一个提交消息。在’ :wq’ 之后按Esc保存并退出编辑器。因此, 我们已经成功提交了。
我们可以通过git log命令检查提交。考虑以下输出:
Git提交

文章图片
我们可以在上面的输出中看到log选项显示了commit-id, 作者详细信息, 日期和时间以及commit消息。
要了解有关log选项的更多信息, 请访问Git Log。
git commit -a commit命令还提供-a选项以指定一些提交。它用于提交所有更改的快照。此选项仅考虑Git中已添加的文件。它不会提交新创建的文件。考虑以下情形:
我们已经对已经暂存的文件newfile3进行了一些更新, 并创建了文件newfile4.txt。检查存储库的状态并按以下方式运行commit命令:
$ git commit -a

考虑输出:
Git提交

文章图片
上面的命令将提示我们的默认文本编辑器, 并要求提交消息。键入提交消息, 然后保存并退出编辑器。此过程将仅提交已经添加的文件。它不会提交尚未暂存的文件。考虑以下输出:
Git提交

文章图片
从上面的输出中可以看到, 尚未提交newfile4.txt。
git commit -m commit命令的-m选项使你可以在命令行上写入提交消息。该命令不会提示文本编辑器。它将运行如下:
$ git commit -m "Commit message."

上面的命令将使用给定的提交消息进行提交。考虑以下输出:
Git提交

文章图片
在上面的输出中, 通过提交消息将newfile4.txt提交到我们的存储库。
我们还可以将-am选项用于已暂存的文件。该命令将立即使用提交消息对已经暂存的文件进行提交。它将运行如下:
$ git commit -am "Commit message."

Git提交修改(更改提交消息) 使用amend选项可以编辑上一次提交。如果偶然, 我们提交了错误的提交消息, 那么此功能对我们来说是一个明智的选择。它将运行如下:
$ git commit -amend

上面的命令将提示默认的文本编辑器, 并允许我们编辑提交消息。
我们可能还需要其他一些与提交相关的基本操作, 例如还原提交, 撤消提交等, 但是这些操作不是commit命令的一部分。我们可以用其他命令来做到这一点。一些基本操作如下:
  • Git撤消提交:访问Git重置
  • Git恢复提交:访问Git恢复
  • git remove commit:访问Git Rm

    推荐阅读