git commit error: pathspec 'commit' não correspondeu a nenhum arquivo conhecido por git

87

Estou tentando fazer upload de um aplicativo Ruby para Heroku. Começo com git init, digito git add .e uso git commit -m initial commit.

Sempre que uso git commit -m, recebo uma mensagem de erro dizendo:

erro de confirmação de git: o caminho do git não corresponde a nenhum arquivo conhecido do git.

Disseram-me que isso está acontecendo porque os argumentos estão na ordem errada.

O que percebi é que, ao usá- git add .lo, ele não listará os arquivos que estão sendo adicionados, pois apenas irá para a próxima linha.

Suspeito que estou tendo esse problema porque meus arquivos não estão realmente sendo adicionados.

Eu apreciaria qualquer conselho sobre como corrigir esse problema.

user2457644
fonte

Respostas:

195

Os argumentos da linha de comando são separados por espaço. Se você quiser fornecer um argumento com um espaço, deve citá-lo. Então use git commit -m "initial commit".

kan
fonte
32
git commit -m 'initial commit' aspas simples não estava funcionando para mim, estou usando-o em um ambiente do Windows.
somshivam
13
No Windows, as aspas duplas são a única opção.
Chade
Muito obrigado. Resolvi esse problema com aspas duplas no meu sistema de janelas.
Bhavin Thummar
Economizador de dia, não usei aspas (simples), por isso falhou devido aos espaços.
Timo
72

Eu gostaria apenas de adicionar -

No windows a mensagem de commit deve estar entre aspas duplas (ao git commit -m "initial commit"invés de git commit -m 'initial commit'), já que gastei cerca de uma hora, apenas para descobrir que as aspas simples não estão funcionando no windows.

Nicks
fonte
4
Usuários do Windows olhem aqui!
Shane
2
Vindo da Ajuda do GitHub, onde as aspas são simples.
Bob Stein
Estou usando git commit -m "first commit" e continuo recebendo o mesmo erro no Windows.
multigoodverse
@nicks Obrigado senhor!
haakym
Sim, vindo do bitbucket help, que também citou aspas simples
Kirill Yunussov,
6

No meu caso, esse erro foi devido a caracteres especiais que eu estava considerando aspas duplas ao copiar o comando de uma página da web.

Zeeawan
fonte
5

Eu descobri o erro de usar aspas duplas em vez de simples.

mude isso

git commit -m 'initial commit'

para

git commit -m "initial commit"

Sai Gopi Me
fonte
4

Isso aconteceu comigo ao fazer commit do Xcode 6, depois de adicionar um diretório de arquivos e subdiretórios à pasta do projeto. O problema era que, na folha de confirmação, na barra lateral esquerda, eu tinha marcado não apenas o diretório raiz que adicionei, mas todos os seus descendentes também. Para resolver o problema, marquei apenas o diretório raiz. Isso também comprometeu todos os descendentes, conforme desejado, sem erros.

Linux_Google
fonte
3

Isso aconteceu comigo ao fazer commit do Xcode 6, depois de adicionar um diretório de arquivos e subdiretórios à pasta do projeto. O problema era que, na planilha de confirmação , na barra lateral esquerda, eu tinha marcado não apenas o diretório raiz que adicionei, mas todos os seus descendentes também. Para resolver o problema, marquei apenas o diretório raiz. Isso também comprometeu todos os descendentes, conforme desejado, sem erros.

Jerry Krinock
fonte
3

Observe que no Windows, é muito importante que o git commit -m "initial commit"tenha os textos de commit iniciais entre aspas duplas. As aspas simples geram um erro de especificação de caminho.


fonte
1

No meu caso, o problema foi que usei o alias errado para git commit -m. Eu usei um gcapelido que não significavagit commit -m

TG
fonte
0

se houver alguém usando python os para invocar git, você pode usar os.system ('git commit -m "' + str (comentário) + '"')

未来 陆家嘴 顶尖 的 投资 人
fonte
0

Eu encontrei o mesmo problema. minha sintaxe não tem problema. O que descobri é que copiei e colei git commit -m "comentários" de minha nota. Eu redigito, o comando é executado sem problemas. Acontece que - e "" são o problema quando copio e cola para o terminal.

Haibin Chen
fonte
0

No meu caso, o problema foi que eu havia esquecido de adicionar o switch -m antes do comentário citado. Pode ser um erro comum também, e a mensagem de erro recebida é exatamente a mesma

Javier D.
fonte