commit

将暂存区中的文件提交到本地仓库中。注意它只会提交暂存区中的文件

  1. 通过 git commit -m [msg] ,其中 -m 后面的是本次提交的文字说明,该文字说明是必不可少的;

  2. 如果 git commit 后不跟 -m 选项,则 Git 会启动默认的文本编辑器让用户输入本次的文字说明。可以通过 git config core.editor 修改使用的编辑器。

  3. 每一次运行 commit 时,都会建立一个 commit 对象。


git commit -a

单独使用 git commit 时,只提交暂存区中的内容;如果想将非暂存区的内容也提交,必须先经过 git add 后才行。这有时候会显得繁琐。

git commit -a 在跳转时会跳过暂存区,它会将所有已纳入版本控制的文件暂存起来,然后一并提交

  1. 该操作对未跟踪的文件无效。它只是对已跟踪过的文件先执行 add 操作,然后再 commit。

  2. 使用该命令时,也需要通过 -m 指定提交的文字说明。如下:

$ git commit -a -m "测试 -a 效果"

git commit --amend

使用 --amend 选项可以修改最后一次提交的内容。注意:修改之后会新建一个提交结点,即使没有进行任何修改(包括内容与提交信息)

  1. 如果最后一次提交后没有修改文件,则运行该命令可以修改提交说明信息,而提交的快照与上一次一样

    • 可以新建一个仓库,只 commit 一次,然后再运行 git commit --amend,重新输入新的提交说明。最后运行 git log -2 可以发现依旧只有一次提交,但提交信息已经换成新输入的文字。
  2. 如果最后一次提交后有修改,可以先将修改通过 add 命令暂存到暂存区,然后运行 --amend 提交,可将本次修改的内容合并到上一次提交中。可按如下步骤进行验证:

    1. 新建一个仓库,仅进行一次提交,运行 git log -p -2 可以看出只有一条提交,并且列出了本次提交进行的修改;

    2. 修改一个文件,运行 git add ,然后运行 git commit --amend。再运行 git log -p -2,可以发现只有一条提交,但修改的部分已添加上了本次的修改。这说明:git commit --amend 会将本次修改追加到上次 commit 中

  3. 该命令提交的是当前的暂存区。

     git commit --amend
    

    会将当前暂存区的快照再一次提交。也可以直接通过 -m 指定提交说明:

    git commit --amend -m "test"
    
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Git是目前最流行的版本管理系统,也是最先进的分布式版本控制系统(distributed version cont...
    pro648阅读 5,935评论 1 17
  • 我为什么在这里写字,每天花费时间来写,写了看的人又那么少,女儿这两天因为雾霾放假在家,希望我能多陪她玩玩,我呢?处...
    青听青说阅读 943评论 1 5
  • 1,三个大傻闯好莱坞, 2,玩王者荣耀最少一把 3,静心 4,塑造孩子赛燕燕老师课 5,销售本周预测 6,二次咨询...
    艳敏姐阅读 269评论 0 0
  • 梦 啊 2016年3月17日 17:12 “嘻嘻嘻”,拍板,“哈哈哈”,“笑死啦”,“好”。。。。。 “啊,吓死我...
    小鹿风阅读 247评论 0 0
  • 接昨日的「花集」系列 落新妇(Astilbe) 不光有萌萌的粉色 还有红色,紫红色,黄色,白色 混搭一起,别有一番意趣
    火鲁鲁怪阅读 299评论 6 3

友情链接更多精彩内容