关于GIT的commit操作问题

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

https://img4.mukewang.com/5b5b0e0000013fa103550087.jpg

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


慕尼黑的夜晚无繁华
浏览 860回答 3
3回答

人到中年有点甜

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

温温酱

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

森林海

没错,git commit -m 'xxx'只会提交git add过文件到暂存区的更新,而且批量的,就是所有在暂存区里的文件都会被提交git commit -m 'xxx' a.php,指定了文件可以不用git add也可以提交,但是只能一个,如果要多个文件,必须要一个一个完整文件名追加在命令后面所以如果我要提交所有修改过的文件,但是没有git add到暂存区,我会用这个命令git commit -am 'x'
打开App,查看更多内容
随时随地看视频慕课网APP