GIT: error: pathspec 'xxx did not match any file(s) known to git

后端 未结 3 1187
予麋鹿
予麋鹿 2021-02-06 13:17

I have some trouble with a git repository of mine and I cant find the error :(

Thing is, I had this repository already in use for a PHP project. everything was fine. The

相关标签:
3条回答
  • 2021-02-06 13:33

    I got this issue due to how many levels deep (length) my folders were. The path name was too long and git couldn't handle it, so I took the folder and threw it on my C: and everything started working fine. Check to see if your folder structure is too long. Ex:

    C:/folder1/folder2/folder3/..../folder99/file.txt

    above is too long, try to make it much shorter. Something like C:/folder1/folder2/file.txt (For all files in the repo) and this should fix the issue.

    0 讨论(0)
  • 2021-02-06 13:42

    Well, years passed, new git versions were released, yet the problem still show up for me from time to time. The posted fixes unfortunately do not help. Yet, instead of committing with git commit . -m "xyz" doing a

    git commit -a -m "xyz"

    does wonders.

    Cheers.

    0 讨论(0)
  • 2021-02-06 14:00

    I often have this problem if something has changed, added files to gitignore or something else. Maybe you have to rebuild the index.

    Updated: added recursive and file param to git rm

    In my case this worked:

    remove cached files (only the paths are removed from the index, not the real files!!!)

    git rm -r --cached .
    

    add all files to the index

    git add .
    

    commit

    git commit -m "hopefully fixed pathspec error"
    

    UPDATE: If this won't work, try the following:

    • Get a new checkout from your repo
    • remove composer, composer.lock, vendor/ from your .gitignore
    • run the above suggestion again
    • move the folders composer, composer.lock, vendor/ outside your repo
    • add and commit, maybe add with -A to add that the files are deleted
    • add composer, composer.lock, vendor/ to your .gitignore and commit
    • move back the folders composer, composer.lock, vendor/ to your repo

    Now it should be gone from the repo and due to your .gitignore, never will be commited again. Hopefully the pathspec error is gone :)

    0 讨论(0)
提交回复
热议问题