Quando faço um git commit -a
, vejo o seguinte:
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
# On branch better_tag_show
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: ../assets/stylesheets/application.css
# modified: ../views/pages/home.html.erb
# modified: ../views/tags/show.html.erb
# modified: ../../db/seeds.rb
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# ../assets/stylesheets/
# ../views/pages/
O que esses arquivos não rastreados significam? Todas as mudanças foram de fato rastreadas. Eu não entendo porque o git está me avisando sobre arquivos não rastreados aqui.
EDITAR :
Ok, vejo muitas respostas confusas. Isso é o que acontece depois git commit -a
disso.
# On branch master
nothing to commit (working directory clean)
Como você pode ver, não há NADA além desses quatro arquivos que tiveram as alterações aplicadas.
Minha pergunta deve ser reformulada da seguinte forma: Por que o git está me avisando sobre arquivos não rastreados quando todas as alterações neste commit foram rastreadas?
Em outras palavras, o aviso não rastreado na mensagem git commit é desnecessário ?
(use "git add <file>..." to include in what will be committed)
add
ed até agora. Dos documentos para-a
: Diga ao comando para preparar automaticamente os arquivos que foram modificados e excluídos, mas os novos arquivos sobre os quais você não informou ao git não são afetados .Respostas:
Para outras pessoas com o mesmo problema, tente executar
git add .
que irá adicionar todos os arquivos do diretório atual para rastrear (incluindo não rastreados) e então usargit commit -a
para confirmar todos os arquivos rastreados.Como sugerido por @Pacerier, um liner que faz a mesma coisa é
git add -A
fonte
git commit -a
irá confirmar todos os arquivos rastreados, não rastrear arquivos não rastreados.git add .
rastreará arquivos não rastreados no diretório atual.git add -a
rastreará todos os arquivos não rastreados.git add -A
, nãogit commit -A
. Pelo que eu posso dizer, não há uma opção para a qual você possa passargit commit
que inclua arquivos não rastreados.git commit -am "msg"
não é o mesmo quegit add file
egit commit -m "msg"
Se você tem alguns arquivos que nunca foram adicionados ao git tracking, você ainda precisa fazer
git add file
Fonte: "git commit -a" e "git add"
fonte
git commit -a
não é igual agit add .
+git commit
. Agit add
etapa adiciona apenas os arquivos listados como modificados em seugit status
, não tudo no diretório atual.Você deve digitar na linha de comando
Isso irá confirmar todos os arquivos não rastreados
Editar:
Depois de preparar seus arquivos, eles estão prontos para confirmação, então seu próximo comando deve ser
fonte
Primeiro você precisa adicionar todos os arquivos não rastreados. Use esta linha de comando:
git add *
Em seguida, comprometa-se usando esta linha de comando:
git commit -a
fonte
Se você estiver tendo problemas com arquivos não rastreados, este script de 3 linhas o ajudará.
Então só
git push
fonte
Como o nome sugere, 'arquivos não rastreados' são os arquivos que não estão sendo rastreados pelo git. Eles não estão em sua área de teste e não fizeram parte de nenhum commit anterior. Se você deseja que eles tenham controle de versão (ou sejam gerenciados pelo git), você pode fazer isso dizendo ao 'git' usando 'git add'. Verifique este capítulo Gravando Mudanças no Repositório no livro Progit , que usa um visual agradável para fornecer uma boa explicação sobre como gravar mudanças no repo do git e também explicar os termos 'rastreado' e 'não rastreado'
fonte
Certifique-se de que você está no diretório correto (pasta principal do repositório) em seu git local para que ele possa encontrar a configuração da pasta .git antes de confirmar ou adicionar arquivos.
fonte