我尝试了以下命令:
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.
对于单个文件或目录提交,这是错误的语法吗?
您的参数顺序错误。试试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
使用-o
选项。
git commit -o path/to/myfile -m "the message"
-o、 --仅提交指定的文件
指定输入的提交消息后的路径,如:
git commit -m "commit message" path/to/file.extension
对于Windows 7上的Git 1.9.5:"我的笔记";(双引号)更正了此问题。在我的情况下,将文件放在-m"消息"之前或之后没有任何区别;使用单引号是个问题。
假设你正在做一个大项目,打开了多个文件,在一个文件中进行了更改,当你不需要写git add .
时,这会将所有文件添加到git中,所以你首先需要检查git status
在哪里进行了更改。在这里你会看到文件名旁边的所有路径,复制你进行更改的文件的路径,然后写git add path
,这里的路径是文件(修改后的文件)的整行路径。然后通过git -m "message"
编写提交消息,然后推送。
这将只推送与git add file
一起使用的指定文件
如果您在主分支中,请尝试:
git commit -m "Commit message" -- filename.ext