git commit 命令详解

这篇具有很好参考价值的文章主要介绍了git commit 命令详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

CSDN 只用来做博客主站文章的转载

博客主站:https://www.itqaq.com

下面地址路径可能会发生变化,进入博客主站搜索 git commit 即可

本文原地址:https://www.itqaq.com/index/348.html

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,git

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

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

git commit,Git,git

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,Git,git

修改备注信息后,保存退出即可。该操作会修改上次提交的索引 id

git commit,Git,git

6. commit 多行提交信息

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

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

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

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

git commit,Git,git

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

方法 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,git

git commit,Git,git

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

git commit,Git,git

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qa7bBtsh-1673764231116)(null)]

二、当前在 master 分支,那么执行 git commit 后会在 .git/refs/heads/master 中写入最新提交记录的 commit id文章来源地址https://www.toymoban.com/news/detail-784843.html

$ cat .git/refs/heads/master
f08f522f3210eccbcff1d5e16c3da72435583f5e

到了这里,关于git commit 命令详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 命令行--git--多次commit如何合并成一个commit

    参考:https://blog.csdn.net/qq_50652600/article/details/120800309 在我们平时开发中,我们提交代码免不了要和git打交道,那么我们肯定是先从预发分支上(公司一般都用pre命名,这里为了方便演示用master)上拉去最新的代码,然后自己在上面在切一个自己的功能分支(gongeng)进行开发。 如

    2024年02月11日
    浏览(43)
  • git 撤销add/commit,以及更换源命令

    前言:主要是为了自己方便记录,省的每次都查找一下这些命令 1、当我们只是想撤回commit,保留 add . 的时候,可以用下方代码 2、当我们想撤回commit以及add .的时候,可以用下方代码  注意:reset 命令只能回滚最新的提交,无法满足保留最后一次提交只回滚之前的某次提交。

    2024年02月05日
    浏览(45)
  • git commit提交以及撤销commit操作详解

    在日常开发中,我们使用git作为版本控制工具管理分支代码,提交版本打标签十分便捷,但也经常会 遇到提交了想撤回的尴尬情况,///不过不用慌,平时养成发布版本前仔细核验的好习惯之外,还有 补救的措施,下面讲下使用git 如何提交信息,如何撤销以及修改信息等等。

    2023年04月19日
    浏览(49)
  • git报错:git commit命令后显示Author identity unknown的解决方法

    使用git commit命令之后, 报错:Author identity unknown 没有配置用户信息或者配置的用户信息已过期 重新配置用户信息 先输入: git config --global user.name “名字” ,回车后再输入: git config --global user.email “邮箱” 配置的用户信息不用加引号 完成后再git commit命令提交就没问题了

    2024年02月11日
    浏览(43)
  • git使用git commit -m ‘**‘命令后显示Author identity unknown的解决方法

    运行提示的命令即可

    2024年02月13日
    浏览(47)
  • git命令合并某一个分支的某个commit到目标分支

    1. 应用场景 在A分支上提交了一个commit,B分支也需要提交这个commit代码,避免人工复制代码,可以使用git命令行操作。 2. 基本用法(实例讲解) 比如,我们的仓库中有 master 和 pre-master 两个分支,现在只想将 f 提交到 master分支。 现在将 f 提交到master分支,其实这个f字母是打

    2024年02月02日
    浏览(71)
  • 从命令行向’git commit -m’添加换行符------转

    bashgitshell 我从命令行使用Git,并尝试在提交消息中添加换行符(使用git commit -m\\\"\\\")而不进入Vim。 这可能吗?  相关讨论 作为一个注释,这里有一个链接,它总结了良好的提交消息约定 - github.com/erlang/otp/wiki/Writing-good-commit-messages,如果它可以帮助某人。 像GIT_EDITOR=\\\"emacs\\\" git com

    2024年02月13日
    浏览(40)
  • git commit 时 报错 ‘lint-staged‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件

    合并分支的时候报错, \\\'lint-staged\\\' 不是内部或外部命令。导致分支无法合并,且会见被合并分支的提交内容stage到合并分支,提示需要在合并分支再执行一次commit命令。 因为我们的代码在提交,或者合并时,必须通过代码校验,才能正常提交或合并。这个报错就是因为没有全

    2024年02月03日
    浏览(45)
  • git reset 命令详解 git revert命令详解。

    git reset 命令格式为: git reset [ --soft | --mixed | --hard ] [ commitid ] 在git的这些命令中git reset是最长常用的,也是最危险的最容易被误用的。它的主要参数是:soft,mixed,hard它们告诉git,当执行reset是,要对index和working copy做什么。 soft: –soft参数只将其它的commit重置到你选定的HEAD,

    2024年02月15日
    浏览(56)
  • git 常用基本命令, reset 回退撤销commit,解决gitignore无效,忽略记录或未记录远程仓库的文件,删除远程仓库文件

    https://blog.csdn.net/a704397849/article/details/135220091 idea 中 rest 撤销commit过程如下: Git - Rest Head… 在To Commit中的HEAD后面加上^,点击Reset即可撤回最近一次的尚未push的commit Reset Type 有三种: Mixed(默认方式),保留本地源码,回退 commit 和 index 信息,最常用的方式 Soft 回退到某个版

    2024年02月02日
    浏览(63)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包