Mam repozytorium z plikiem foo
w gałęzi master. Przerzuciłem się na gałąź barową i wprowadziłem kilka zmian foo
. Jak mogę teraz uruchomić git diff
między tą kopią (która nie została jeszcze zatwierdzona) a kopią gałęzi głównej?
158
git diff
, zawsze myślę o stackoverflow.com/questions/5256249/git-diff-doesnt-show-enough/ ...--
oddzielić parametry od argumentów ścieżki?git diff -- master:foo foo
git diff -- master:foo foo
nie działa - wydaje się, że traktuje argumentmaster:foo
jako nieistniejącą nazwę pliku (i ignoruje go) zamiast pliku-w-gałęzi. Spróbuj zmienić ostatnie 2 argumenty - jeśli zadziałało, porównanie różnic powinno zostać odwrócone, ale wynik się nie zmienia.git diff master:foo foo
ale nie odwrotnie. Ja też tego nie rozumiem. Z git 1.7.9.5 / Ubuntu 12.04 mogę przynajmniej zrobić różnicę,git diff -R master:foo foo
której faktycznie potrzebuję. Kiedy próbuję tego z msysgit 1.9.4 / Windows 7 x64, otrzymujęfatal: unable to read 0000000000000000000000000000000000000000
. Bez-R
tego otrzymuję taki sam komunikat o błędzie jak ty z gitem 1.7.9.5, ale z 1.9.4 dostajęfatal: master:foo: no such path in the working tree
.Próbujesz porównać swoje drzewo robocze z nazwą konkretnej gałęzi, więc chcesz tego:
Który pochodzi z tej formy git-diff (zobacz stronę podręcznika git-diff)
Do Twojej wiadomości, istnieje również
--cached
(aka--staged
) opcja przeglądania różnicy tego, co wystawiłeś, zamiast wszystkiego w drzewie roboczym:źródło
Również:
git diff master..feature foo
Ponieważ
git diff foo master:foo
dla mnie nie działa na katalogach.źródło
git diff branch1:foo master:foo
źródło
git difftool
nie ma-v
opcji zgodnie z dokumentacją git-scm.com/docs/git-difftool . Czy miałeś na myśli-y
?powinien również działać
źródło
git diff deployment master -- file
igit diff master deployment -- file
działają zgodnie z oczekiwaniami z dowolnymi 2 gałęziami .Aby zobaczyć lokalne zmiany w porównaniu z obecnym oddziałem
Aby zobaczyć zmiany lokalne w porównaniu z innymi istniejącymi oddziałami
Aby zobaczyć zmiany w określonym pliku
Upewnij się, że biegniesz
git fetch
na początku.źródło