@EugenKonkov To nie jest duplikat, ponieważ to pytanie dotyczy porównania różnych plików w różnych gałęziach. Połączone pytanie dotyczy tylko tego, jak odróżnić ten sam plik w różnych gałęziach.
Niesamowite! Z pewnością nie byłem w stanie tego wywnioskować git help diff. Nawiasem mówiąc, nie muszą to być nazwy gałęzi przed dwukropkami, ale mogą to być dowolne odniesienia do zatwierdzeń (np. Wartości SHA-1).
Steve Jorgensen
3
Ważna uwaga: Git w systemie Windows wymaga, aby pełna specyfikacja elementu była nazwą uniksową. tj. gałąź1: pełna \ ścieżka \ do \ foo.txt nie działa, podczas gdy gałąź1: pełna / ścieżka / do / foo.txt działa dobrze, podobnie jak pełna \ ścieżka \ do \ foo.txt (bez gałęzi)
Eris
użyj, git difftoola następnie upuść branch2:i, które pozwoli ci edytować plik w bieżącym drzewie roboczym (aby przenieść zmiany z branch1)
gMale
Wypróbowano na Linuksie z wersją git 1.8.3.1, dozwolone są tylko ścieżki względne.
Sola Yang
21
Uwaga dodatkowa: nie ma potrzeby stosowania pełnych ścieżek, możesz zacząć od ./ścieżek względnych. Czasami może się przydać.
Odpowiedzi:
Możesz także użyć ścieżek względnych:
źródło
git help diff
. Nawiasem mówiąc, nie muszą to być nazwy gałęzi przed dwukropkami, ale mogą to być dowolne odniesienia do zatwierdzeń (np. Wartości SHA-1).git difftool
a następnie upuśćbranch2:
i, które pozwoli ci edytować plik w bieżącym drzewie roboczym (aby przenieść zmiany zbranch1
)Uwaga dodatkowa: nie ma potrzeby stosowania pełnych ścieżek, możesz zacząć od
./
ścieżek względnych. Czasami może się przydać.źródło
Istnieje wiele sposobów porównywania plików z dwóch różnych gałęzi. Na przykład:
Jeśli nazwa jest taka sama lub inna:
Przykład:
Tylko jeśli nazwa jest taka sama i chcesz porównać swój obecny katalog roboczy z jakąś gałęzią:
Przykład:
Możesz sprawdzić tę odpowiedź:
Porównaj plik z dwóch różnych gałęzi w Git
źródło
Odpowiedź nie na temat - zobacz komentarze
Dodając to, uważam, że jest to bardzo prosta składnia:
Działa również z referencjami względnymi, takimi jak na przykład:
źródło
Możesz określić początek i zakres
git diff
do zastosowania. Zakres jest oznaczony..
notacją.źródło