Istnieją dwa scenariusze porównywania plików:
Scenariusz 1: Porównaj pliki w zdalnych oddziałach (obie gałęzie powinny istnieć w zdalnym repozytorium)
Scenariusz 2: Porównaj pliki lokalne (w lokalnej kopii obszaru roboczego) z plikami w zdalnym repozytorium.
Logika jest prosta. Jeśli podasz dwie nazwy gałęzi w celu porównania, zawsze porówna gałęzie zdalne, a jeśli podasz tylko jedną nazwę gałęzi, zawsze porówna lokalną kopię roboczą ze zdalnym repozytorium (tą, którą podałeś). Możesz użyć zakresu, aby zapewnić zdalne repozytoria.
np. kasy oddział
git checkout branch1
git diff branch2 [filename]
w takim przypadku, jeśli podasz nazwę pliku, porówna twoją lokalną kopię nazwy pliku ze zdalną gałęzią o nazwie „ gałąź2 ”.
git diff branch1 branch2 [filename]
w tym przypadku porówna nazwę pliku ze zdalnych gałęzi o nazwie „ gałąź 1 ” i „ gałąź 2 ”
git diff ..branch2 [filename]
również w tym przypadku porówna nazwę pliku ze zdalnych gałęzi o nazwie „ gałąź 1 ” i „ gałąź 2 ”. Tak samo jak powyżej. Jeśli jednak właśnie utworzyłeś gałąź z innej gałęzi, powiedz „master”, a twoja obecna gałąź nie istnieje w zdalnym repozytorium, porówna ona zdalny „ master ” ze zdalnym „ branch2 ”.
Mam nadzieję, że się przyda.
git diff branch1 branch2 myfile.cs
. (Nie--
powinno to już być konieczne, ponieważ może zająć tylko dwa argumenty rewizji.)