How to 'git commit' a single file/directory
GitCommitGit Problem Overview
I tried the following command:
git commit path/to/my/file.ext -m 'my notes'
And received an error in Git version 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.
Is that incorrect syntax for a single file or directory commits?
Answer:
Arguments were expected in this order...
git commit -m 'my notes' path/to/my/file.ext
And it's not strict any more :)
Git Solutions
Solution 1 - Git
Your arguments are in the wrong order. Try git commit -m 'my notes' path/to/my/file.ext
, or if you want to be more explicit, git commit -m 'my notes' -- path/to/my/file.ext
.
Incidentally, Git v1.5.2.1 is 4.5 years old. You may want to update to a newer version (1.7.8.3 is the current release).
Solution 2 - Git
Try:
git commit -m 'my notes' path/to/my/file.ext
of if you are in the current directory, add ./
to the front of the path;
git commit -m 'my notes' ./path/to/my/file.ext
Solution 3 - Git
If you are in the folder which contains the file
git commit -m 'my notes' ./name_of_file.ext
Solution 4 - Git
Use the -o
option.
git commit -o path/to/myfile -m "the message"
> -o, --only commit only specified files
Solution 5 - Git
Specify the path after the entered commit message, like:
git commit -m "commit message" path/to/file.extension
Solution 6 - Git
For Git 1.9.5 on Windows 7: "my Notes" (double quotes) corrected this issue. In my case, putting the file(s) before or after the -m 'message' made no difference; using single quotes was the problem.
Solution 7 - Git
Suppose you are working on big project and have opened multiple files, and you made changes in single file, when you don't need to write git add .
, this will add all the files to git, so you first need to check where you made changes by git status
, here you will see all the paths next to the filenames, copy the path of the file where you made change and then write git add path
, here path is whole line of path to the file (your modified file). Then you write your commit message by git -m "message"
and then push.
This will push only the specified file which you have used with git add file
Solution 8 - Git
You try if you are in the master branch:
git commit -m "Commit message" -- filename.ext