2017-10-10 5 views
1

Même après avoir fait ajouter git -A, quand je lance git status, je reçois ceci:git add -A ne fonctionne pas

# On branch master 
# Changes not staged for commit: 
# (use "git add <file>..." to update what will be committed) 
# (use "git checkout -- <file>..." to discard changes in working directory) 
# (commit or discard the untracked or modified content in submodules) 
# 
# modified: src/cartographer (modified content, untracked content) 
# modified: src/cartographer_ros (untracked content) 
# 
no changes added to commit (use "git add" and/or "git commit -a") 

Toute idée de comment résoudre ce problème?

+1

Git add-a au lieu de A? – Andromelus

+1

Le texte que vous avez cité est ce que 'git commit' sauve de' git status', pas tout à fait le même que ce que 'git status' écrit directement, ce qui me fait réfléchir: (a) quelle * version * de Git utilisez-vous? et (b) êtes-vous dans un sous-répertoire du répertoire de premier niveau? Lancez 'git --version' et' git rev-parse --show-cdup' pour savoir si mes soupçons sont corrects: numéro de version Git inférieur à 2.0, et dans un sous-répertoire 'src/*' est '../ src/* '. – torek

+0

@Andromelus 'git add -A' est une commande valide ... – ifconfig

Répondre

1

Cela n'a rien avec l'option -A: contenu modifié, le contenu untracked signifie ces dossiers sont submodules.

Ces sous-dépôts comprennent des fichiers qui ne sont pas suivis ou modifiés.

Vous devrez:

  • aller dans ces répertoires,
  • add et il commit, (et pousser à leur distance respective, en supposant ces changements doivent être contribue à leurs prises en pension en amont),
  • puis revenir à la pension mère, ajouter et à nouveau engager pour enregistrer la nouvelle gitlink (special entry in the parent index, l'enregistrement de la nouvelle SHA1 de ces sous-modules)

Mais si ces changements sont purement locaux et peuvent être ignorés (tout le monde clonant à nouveau votre repo avec vos changements actuels serait encore en mesure de faire fonctionner votre programme sans aucun des changements dans les sous-modules), alors vous pouvez ignorer la sortie git status.