git commit'单个文件/目录

我尝试了以下命令:

git commit path/to/my/file.ext -m 'my notes'

在Git版本1.5.2.1中收到一个错误:

error: pathspec '-m' did not match any file(s) known to git.
error: pathspec 'MY MESSAGE' did not match any file(s) known to git.

这是单个文件或目录提交的错误语法吗?

402425 次浏览

你的论点顺序不对。尝试git commit -m 'my notes' path/to/my/file.ext,或者如果你想更明确,git commit -m 'my notes' -- path/to/my/file.ext

顺便提一下,Git v1.5.2.1已经有4.5年的历史了。您可能希望更新到较新的版本(1.7.8.3是当前版本)。

试一试:

git commit -m 'my notes' path/to/my/file.ext

如果你在当前目录,添加./到路径的前面;

git commit -m 'my notes' ./path/to/my/file.ext

如果您在包含该文件的文件夹中

git commit -m 'my notes' ./name_of_file.ext

对于Windows 7上的Git 1.9.5:“my Notes"(双引号)纠正了这个问题。在我的例子中,把文件放在-m 'message'之前或之后没有区别;使用单引号是问题所在。

使用-o选项。

git commit -o path/to/myfile -m "the message"

-o,——only只提交指定的文件

在输入的提交消息后指定路径,例如:

git commit -m "commit message" path/to/file.extension

如果你在主分支中,你试试:

git commit -m "Commit message" -- filename.ext

假设你正在做大项目,开设了多个文件,你在单一文件进行了修改,当你不需要编写git add .,这将向git添加的所有文件,所以您首先需要检查你git status做出改变,在这里你将看到所有路径文件名,复制文件的路径,你做出改变,然后写git add path,路径是整个的文件路径(修改文件)。然后通过git -m "message"编写提交消息,然后push。

这将只推你在git add file中使用的指定文件