2013-06-21 11 views

Odpowiedz

54

Jeśli nie masz żadnych plików do indeksu jeszcze (z git add), po prostu zrobić

git diff 

ten pokaże diff między drzewa pracy i indeksu.

Jeśli dodałeś pliki do indeksu, musisz to zrobić, aby pokazać różnice między indeksem a ostatnim zatwierdzeniem (HEAD).

git diff --cached 

Wreszcie, jeśli chcesz zobaczyć zmiany wprowadzone w drzewie pracy w porównaniu do najnowszych commit (HEAD) można (jak Carlos zaznacza) zrobić

git diff HEAD 

Zmiany te są połączeniem z git diff i git diff --cached.

+1

'git diff' porównuje worktree z indeksem, a nie HEAD. –

+0

@ CarlosMartínNieto Masz rację, sir. Poprawiłem swój post, aby to odzwierciedlić. –

+0

Uruchomiłem to, ale terminal, nie kończy się, jak mogę wyjść.? nic nie działa. –

2

Pytasz gita, aby odróżnić bieżące/ostatnie zatwierdzenie, które ma skrót od HEAD.

Więc git diff HEAD porówna bieżący stan worktree z bieżącym zatwierdzeniem.

1

to również pokazuje różnicę i jakie pliki zostały zmienione/zmodyfikowane.

$ git Status 

Wyświetla ścieżki, które mają różnice między plikiem indeksu i obecnego szefa popełnienia, ścieżki, które mają różnice między drzewa pracy i plik indeksu i ścieżki w drzewie pracy, które nie są śledzone przez git (i są nie ignorowane przez gitignore (5)). Pierwszym z nich jest to, co chciałbyś popełnić, uruchamiając git commit; drugi i trzeci to, co możesz zatwierdzić, uruchamiając git add przed uruchomieniem git commit.

https://www.kernel.org/pub/software/scm/git/docs/git-status.html

8

Jeśli właśnie popełnił popełnić, lub chcesz zobaczyć, co się zmieniło w ostatnim popełnić w stosunku do obecnego stanu (zakładając, że masz czyste drzewo roboczy) można użyć:

git diff HEAD^ 

Spowoduje to porównanie HEAD z zatwierdzeniem bezpośrednio przed. Można również wykonać porównanie z stanem sprzed 2 aktów temu. Aby zobaczyć diff między aktualnym stanem i pewna popełnienia, po prostu zrobić:

git diff b6af6qc 

Gdzie b6af6qc jest przykładem mieszania popełnił.

Powiązane problemy