J'ai lancé "git status" ; et la liste ci-dessous contient quelques fichiers qui ont été modifiés/ou sous le titre "changes not staged for commit" ;. Il a également listé quelques fichiers non suivis que je veux ignorer (j'ai un fichier " ;.gitignore" ; dans ces répertoires).
Je veux mettre les fichiers modifiés dans le staging pour pouvoir les livrer. Lorsque j'ai exécuté "git add ." ;, il a ajouté les fichiers modifiés ET les fichiers que je veux ignorer à Staging.
Comment puis-je ajouter uniquement les fichiers modifiés et ignorer les fichiers non suivis si on me présente le statut git ci-dessous.
De plus, mes fichiers " ;.gitignore" ; fonctionnent-ils correctement ?
$ git status
# On branch addLocation
# 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)
#
# modified: someProject/path/domain/viewer/LocationDO.java
# modified: someProject/path/service/ld/LdService.java
# modified: someProject/path/service/ld/LdServiceImpl.java
# modified: someProject/path/web/jsf/viewer/LocationFormAction.java
# modified: someProject/war/WEB-INF/classes/message/viewer/viewer.properties
# modified: someProject/war/page/viewer/searchForm.xhtml
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# .metadata/
# someProject/build/
no changes added to commit (use "git add" and/or "git commit -a")
Idéalement, votre .gitignore
devrait empêcher les fichiers non suivis (et ignorés) d'être affichés dans le statut, ajoutés en utilisant git add
, etc. Je vous demande donc de corriger votre .gitignore
.
Vous pouvez faire git add -u
pour qu'il affiche les fichiers modifiés et supprimés.
Vous pouvez aussi faire git commit -a
pour ne livrer que les fichiers modifiés et supprimés.
Notez que si vous avez une version de Git antérieure à 2.0 et que vous utilisez git add .
, alors vous devrez utiliser git add -u .
(Voir " ;Différence entre "git add -A
" et "git add .
"" ;).
Cela a marché pour moi :
#!/bin/bash
git add `git status | grep modified | sed 's/\(.*modified:\s*\)//'`
Ou encore mieux :
$ git ls-files --modified | xargs git add