2015-10-15 21 views
5

Niedawno przeniosłem się z SVN do git i próbowałem nauczyć się mojej drogi wokół git. Potrzebuję znaleźć pliki, które zmieniły się między 2 gałęziami mojego repozytorium. I użyć następującego polecenia do:git diff daje błędny argument argumentu

git diff branch_2..branch_1 

pojawia się błąd follwing:

fatal: ambiguous argument 'branch_2..branch_1': unknown revision or path not in the working tree. 
Use '--' to separate paths from revisions, like this: 
'git <command> [<revision>...] -- [<file>...]' 

git branch daje następujące O/P:

git branch -a 
* branch_1 
master/origin 
remotes/origin/HEAD -> origin/master 
remotes/origin/branch_2 
remotes/origin/branch_1 
+0

To może być głupie pytanie, ale jeśli zrobić 'git branch -a' są twoje gałęzie na tej liście? – idjaw

+0

tak, są. – am28

+0

Czy możesz wkleić to, co te dwie gałęzie są wymienione na liście? – idjaw

Odpowiedz

11

Jeśli jesteś po prostu robi:

git diff branch2..branch1 

To nie będzie pracuj, zgodnie z listą twojego oddziału git, twoje "piloty" są określone jako "pochodzenie". Oznacza to, że masz te gałęzie na pilocie, ale nie są one faktycznie sprawdzane lokalnie.

Masz tutaj dwie opcje. Wypróbuj te i daj mi znać, jak to działa.

podstawie listy oddział stanowił:

Diff użyciu pochodzenie/

git diff origin/branch2..branch1 

Jeśli chcesz kasy te gałęzie lokalnie wykonywać swoją diff i może pracować na nich na stacji roboczej. Ponadto obsługa pliku diff w tym formacie:

git diff branch2..branch1 

Co trzeba zrobić, to faktycznie sprawdzić te gałęzie, aby ustawić je jako lokalne oddziały z pilota. Po prostu to zrobić:

git checkout branch2 

Następnie można zrobić

git diff branch2..branch1 
+2

działa idealnie! – am28

Powiązane problemy