Ik rende "git status" en op de lijst staan enkele bestanden die gewijzigd zijn/of onder de kop "changes not staged for commit". Er staan ook een aantal untracked bestanden die ik wil negeren (ik heb een ".gitignore" bestand in deze directories).
Ik wil de gewijzigde bestanden in staging zetten, zodat ik ze kan committen. Toen ik "git add ." uitvoerde, voegde het de gewijzigde bestanden EN de bestanden die ik wil negeren toe aan staging.
Hoe kan ik alleen de gewijzigde bestanden toevoegen en de ongevolgde bestanden negeren als ik de onderstaande git status krijg.
Ook, werken mijn ".gitignore" bestanden goed?
$ 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")
Idealiter zou je .gitignore
moeten voorkomen dat de untracked ( en genegeerde) bestanden in status getoond worden, toegevoegd worden met git add
etc. Dus ik zou je willen vragen om je .gitignore
te corrigeren
Je kunt git add -u
doen, zodat het de gewijzigde en verwijderde bestanden zal stagen.
Je kunt ook git commit -a
doen om alleen de gewijzigde en verwijderde bestanden te committen.
Merk op dat als je Git versie voor 2.0 hebt en git add .
gebruikt, dat je dan git add -u .
moet gebruiken (Zie "Verschil van "git add -A
" en "git add .
"").
Dit werkte voor mij:
#!/bin/bash
git add `git status | grep modified | sed 's/\(.*modified:\s*\)//'`
Of nog beter:
$ git ls-files --modified | xargs git add