Kiedy robię git commit -a
, widzę następujące informacje:
# 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/
Co oznaczają te nieśledzone pliki? Wszystkie zmiany były rzeczywiście śledzone. Nie rozumiem, dlaczego git ostrzega mnie tutaj o nieśledzonych plikach.
EDYCJA :
Ok, widzę wiele pomieszanych odpowiedzi. Oto, co dzieje się po git commit -a
tym.
# On branch master
nothing to commit (working directory clean)
Jak widać, nie ma NIC poza tymi czterema plikami, do których zastosowano zmiany.
Moje pytanie powinno zostać przeformułowane w następujący sposób: Dlaczego git ostrzega mnie o nieśledzonych plikach, gdy śledzone są wszystkie zmiany w tym zatwierdzeniu?
Innymi słowy, czy nieśledzone ostrzeżenie w komunikacie git commit jest niepotrzebne ?
git
git-commit
zniknął
źródło
źródło
(use "git add <file>..." to include in what will be committed)
add
edytowane. Z dokumentacji dla-a
: Powiedz komendzie, aby automatycznie przygotowywała pliki, które zostały zmodyfikowane i usunięte, ale nie ma to wpływu na nowe pliki, o których nie poinformowałeś git .Odpowiedzi:
Jeśli inni mają ten sam problem, spróbuj uruchomić
git add .
który doda wszystkie pliki z bieżącego katalogu do śledzenia (w tym nieśledzone), a następnie użyjegit commit -a
zatwierdzić wszystkie śledzone pliki.Zgodnie z sugestią @Pacerier, jedna wkładka, która robi to samo, to
git add -A
źródło
git commit -a
zatwierdzi wszystkie śledzone pliki, a nie śledzi nieśledzone pliki.git add .
będzie śledzić nieśledzone pliki w bieżącym katalogu.git add -a
będzie śledzić wszystkie nieśledzone pliki.git add -A
niegit commit -A
. O ile wiem, nie ma przełącznika, do którego można by przejśćgit commit
, obejmującego nieśledzone pliki.git commit -am "msg"
to nie to samo cogit add file
igit commit -m "msg"
Jeśli masz jakieś pliki, które nigdy nie zostały dodane do śledzenia git, nadal musisz to zrobić
git add file
Źródło: „git commit -a” i „git add”
źródło
git commit -a
nie jest równegit add .
+git commit
. Tengit add
krok dodaje tylko te pliki, które są wymienione jako zmodyfikowane w Twoimgit status
katalogu, a nie wszystko w bieżącym katalogu.Powinieneś wpisać w linii poleceń
Spowoduje to zatwierdzenie wszystkich nieśledzonych plików
Edytować:
Po przygotowaniu plików są gotowe do zatwierdzenia, więc powinno być wykonane następne polecenie
źródło
Najpierw musisz dodać wszystkie nieśledzone pliki. Użyj tego wiersza poleceń:
git add *
Następnie zatwierdź za pomocą tego wiersza poleceń:
git commit -a
źródło
Jeśli masz problemy z nieśledzonymi plikami, ten 3-liniowy skrypt Ci pomoże.
Wtedy po prostu
git push
źródło
Jak sama nazwa wskazuje, „nieśledzone pliki” to pliki, które nie są śledzone przez git. Nie ma ich w twojej strefie przeciwności i nie były częścią żadnych poprzednich zatwierdzeń. Jeśli chcesz, aby były one wersjonowane (lub zarządzane przez git), możesz to zrobić, mówiąc „git” za pomocą polecenia „git add”. Sprawdź ten rozdział Rejestrowanie zmian w repozytorium w książce Progit, w którym zastosowano ładną grafikę, aby zapewnić dobre wyjaśnienie rejestrowania zmian w repozytorium git, a także wyjaśnienie terminów „śledzony” i „nieśledzony”.
źródło
Upewnij się, że jesteś we właściwym katalogu (głównym folderze repozytorium) w lokalnym git, aby mógł znaleźć konfigurację folderu .git przed zatwierdzeniem lub dodaniem plików.
źródło