搜索

首页  >  问答  >  正文

关于GIT的commit操作问题

当磁盘(本地文件)和缓存区都有修改时,如下图:


使用:git commit -m 'xxx' 会提交缓存区的修改,本地修改不会提交。
而当使用 git commit -m 'xxxx' a.php 时 ,缓存区和本地修改都提交上去了。
这是正确的git原理吗?求大神解释。

天蓬老师天蓬老师2773 天前665

全部回复(3)我来回复

  • 習慣沉默

    習慣沉默2017-05-02 09:36:50

    这样提交不上去的啊!执行完git commit -m '提交日志',肯定要执行一下git push origin 分支才能更新到对应的远程分支。git commit -m '提交日志'后面加修改的文件没用啊

    回复
    0
  • 世界只因有你

    世界只因有你2017-05-02 09:36:50

    没错,git commit -m 'xxx'只会提交git add过文件到暂存区的更新,而且批量的,就是所有在暂存区里的文件都会被提交

    git commit -m 'xxx' a.php,指定了文件可以不用git add也可以提交,但是只能一个,如果要多个文件,必须要一个一个完整文件名追加在命令后面

    所以如果我要提交所有修改过的文件,但是没有git add到暂存区,我会用这个命令git commit -am 'x'

    回复
    0
  • ringa_lee

    ringa_lee2017-05-02 09:36:50

    When files are given on the command line, the command commits the contents of the named files, without recording the changes already staged. The contents of these files are also staged for the next commit on top of what have been staged before.

    你的理解是正确的,最后携带文件参数将会直接提交这些文件当前的内容而不是缓冲区中的更改。

    回复
    0
  • 取消回复