关于git commit 命令解读

2024-03-04 0 937
目录
  • 1. git commit 介绍
  • 2. git commit 使用
  • 3. git commit -m
  • 4. git commit -am
  • 5. git commit –amend
  • 6. commit 多行提交信息
  • 7. commit 背后到底发生了什么
  • 总结

1. git commit 介绍

git commit 命令用于将工作区内容或暂存区内容提交到版本库

本文记录 git commit 的常见用法,日常开发中,这几个参数足够使用了

# 将暂存区内容提交到版本库, 进入 vi 命令界面输入提交信息
git commit

# 将某些已被跟踪的文件提交到版本库(包含工作区和版本库)
git commit [file1] [file2] […]

# 将暂存区内容提交到版本库, 无需进入 vi 命令界面输入提交信息
git commit -m [message]

# 跳过 git add, 将所有已被跟踪的文件更改提交到版本库
git commit -am [message]

# 使用一次新的commit, 替代上一次提交
# 如果代码没有任何新变化, 则用来改写上一次commit的提交信息
git commit –amend -m [message]

2. git commit 使用

将所有暂存区文件提交到版本库,进入 vi 命令页面输入提交信息

git commit

将所有已被 git 跟踪的文件提交到版本库 (包含工作区和暂存区),进入 vi 命令页面输入提交信息

git commit [file1] [file2] […]

3. git commit -m

最常见的用法如下所示,如果没有 -m 参数,会进入 vi 编辑模式,然后写入提交信息

git commit -m [message]

关于git commit 命令解读

将某些文件提交到版本库,可以跳过 git add,但必须是已被跟踪的文件

git commit [file1] [file2] -m [message]

关于git commit 命令解读

4. git commit -am

如果需要将所有已被跟踪的文件更改内容,不想使用 git add,直接添加到版本库

总结: git commit -m 用于提交暂存区中的文件,git commit -am 用于提交已被跟踪的文件

# 将已被跟踪的文件提交的本地库中
git commit -am <message>

commit 命令的 -am 参数等价于执行了下面两个命令

# 将已被跟踪的文件提交到暂存区
git add -u
# 将暂存区中的文件提交到本地库
git commit -m <message>

5. git commit –amend

在日常开发中,难免会出现提交时备注信息打错了,想要修改它。

# 进入 vi 编辑模式,最上方就是提交时填写的备注信息
git commit –amend
# 无需进入 vi 编辑模式,修改上次提交记录的备注信息
git commit –amend -m <message>

关于git commit 命令解读

修改备注信息后,保存退出即可。

该操作会修改上次提交的索引 id

关于git commit 命令解读

6. commit 多行提交信息

提交信息大多数人都是使用一行,有时改动内容会比较多,三言两语很难表示清楚,可以使用换行更好的描述改动内容

多行提交信息内容:第一行内容代表是标题,从第二行开始都是内容,以下面多行提交信息为例:

fix:用户模块、购物车模块

  • 1、修复用户无法注册功能
  • 2、修复购物车商品批量删除报错问题
  • 3、修复积分商城支付成功后订单状态没有改变问题

下面是多行提交信息在当前主流代码托管平台上的显示效果

关于git commit 命令解读

提交多行提交信息的方法:

方法 1(进入 vi 模式输入多行提交信息):

# 进入 vi 命令界面
git commit

# 按下 i,进入 vi 的插入模式,将下面内容粘贴进入后,输入 :wq 回车即可
fix:用户模块、购物车模块
1、修复用户无法注册功能
2、修复购物车商品批量删除报错问题

方法 2(命令行输入多行提交信息):

# 第一步:输入第一行
git commit -m \”fix:用户模块、购物车模块

# 第二步:按下回车输入第二行、按下回车输入第三行 …
1、修复用户无法注册功能

# 第三步:多行提交信息输入结束,尾部加上引号,回车完成提交操作
2、修复购物车商品批量删除报错问题\”

方法 3(粘贴提前写好的提交命令)【推荐】:

提前在文本编辑器中写好准备执行的提交命令,复制粘贴到命令行中执行即可,如下所示:

git commit -m "fix:用户模块、购物车模块

  • 1、修复用户无法注册功能
  • 2、修复购物车商品批量删除报错问题
  • 3、修复积分商城支付成功后订单状态没有改变问题

7. commit 背后到底发生了什么

创建一个 git 仓库,用于测试 git commit 背后做了什么操作

echo \’hello git\’ >> 1.txt
echo \’hello svn\’ >> 2.txt
git init
git add .
# 提交到版本库,注意 .git 目录下的变化
git commit -m \’add 1.txt 2.txt\’

一、执行 git commit 后会在 .git/objects 目录中下面生成两个文件(一个是 commit 类型,一个是 tree 类型)

关于git commit 命令解读

关于git commit 命令解读

第二次执行 commit 后,查看这次 commit id 的文件内容,其中 parent 后面的值是上一次提交记录的 commit id

关于git commit 命令解读

当文件存放在目录中时,tree 类型的 objects 文件中还会有一个 tree(新增了一个 user/4.txt 文件)

二、当前在 master 分支,那么执行 git commit 后会在 .git/refs/heads/master 中写入最新提交记录的 commit id

$ cat .git/refs/heads/master
f08f522f3210eccbcff1d5e16c3da72435583f5e

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持悠久资源网。

您可能感兴趣的文章:

  • git提交出现commit提醒信息界面怎样退出
  • Gitcommit与pull的先后顺序及说明
  • git中commit和push的区别及说明

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悠久资源 编程技巧 关于git commit 命令解读 https://www.u-9.cn/biancheng/jiqiao/183049.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务