git dodaje tylko zmodyfikowane zmiany i ignoruje nie śledzone pliki

Uruchomiłem "Git status" i poniżej wymieniono kilka plików, które zostały zmodyfikowane/lub pod nagłówkiem "changes not stsinged for commit". Wymienił również niektóre nie śledzone pliki, które chcę zignorować(mam".gitignore " pliku w tych katalogach).

Chcę umieścić zmodyfikowane pliki w stagingu, aby móc je zatwierdzić. Kiedy biegłem " git add .", dodała zmodyfikowane pliki i pliki, które chcę zignorować do stagingu.

Jak dodawać tylko zmodyfikowane pliki i ignorować nie śledzone pliki, jeśli poniżej prezentujemy status git.

Również, są moje".gitignore " pliki działają poprawnie?

$ 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")
Author: Steve, 2011-08-19

5 answers

Najlepiej, aby twoje .gitignore zapobiegało wyświetlaniu plików nie śledzonych ( i ignorowanych )w statusie, dodawaniu za pomocą git add itd. Proszę więc o poprawienie swojego .gitignore

Możesz zrobić git add -u tak, aby skompilować zmodyfikowane i usunięte pliki.

Możesz również zrobić git commit -a, Aby zatwierdzić tylko zmodyfikowane i usunięte pliki.

Zauważ, że jeśli masz Git w wersji przed 2.0 i używasz git add ., to musisz użyć git add -u . (Zobacz "różnica "git add -A" i "git add ."").

 684
Author: manojlds,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 11:33:26

To mi pomogło:

#!/bin/bash

git add `git status | grep modified | sed 's/\(.*modified:\s*\)//'`

Albo nawet lepiej:

$ git ls-files --modified | xargs git add
 76
Author: user877329,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-01-17 08:41:48

Nie powiedziałeś, co jest aktualnie twoim .gitignore, ale .gitignore z następującą zawartością w Twoim katalogu głównym powinno załatwić sprawę.

.metadata
build
 4
Author: Karl Bielefeldt,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-08-19 16:55:52

Nie wiem, czy to jest funkcja, czy błąd, ale to zadziałało dla nas:

git commit '' -m "Message"

Zwróć uwagę na pustą listę plików". Git interpretuje to tak, aby zatwierdzić wszystkie zmodyfikowane śledzone pliki, nawet jeśli nie są wystawiane, i ignorować pliki nie śledzone.

 0
Author: Erik Englund,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-08-16 14:06:15

Tak się złożyło, że próbowałem tego, żeby najpierw zobaczyć listę plików:

git status | grep "modified:" | awk '{print "git add  " $2}' > file.sh

cat ./file.sh

Wykonanie:

chmod a+x file.sh
./file.sh 

Edit: (Zobacz komentarze) Można to osiągnąć w jednym kroku:

git status | grep modified | awk '{print $2}' | xargs git add && git status
 0
Author: Mike Q,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-09-28 05:35:28