Udało mi się zmusić git do uruchomienia Beyond Compare 3 jako narzędzia do porównywania, jednak kiedy robię różnicę, plik, z którym porównuję, nie jest ładowany. Ładowana jest tylko najnowsza wersja pliku i nic więcej, więc w prawym okienku Beyond Compare nic nie ma.
Używam git 1.6.3.1 z Cygwin z Beyond Compare 3. Skonfigurowałem nieporównywalne, jak sugerują w części wsparcia ich strony internetowej ze skryptem takim jak:
#!/bin/sh
# diff is called by git with 7 parameters:
# path old-file old-hex old-mode new-file new-hex new-mode
"path_to_bc3_executable" "$2" "$5" | cat
Czy ktoś jeszcze napotkał ten problem i zna rozwiązanie tego problemu?
Edycja:
Postępowałem zgodnie z sugestiami VonC, ale nadal mam dokładnie ten sam problem, co wcześniej. Jestem trochę nowy w Git, więc być może nie używam poprawnie różnicy.
Na przykład próbuję zobaczyć różnicę w pliku za pomocą polecenia takiego jak:
git diff main.css
Beyond Compare otworzy się i wyświetli tylko mój bieżący plik main.css w lewym okienku, w prawym okienku nic nie ma. Chciałbym zobaczyć mój aktualny plik main.css w lewym okienku w porównaniu do HEAD, w zasadzie to, co ostatnio zatwierdziłem.
Mój git-diff-wrapper.sh wygląda tak:
#!/bin/sh
# diff is called by git with 7 parameters:
# path old-file old-hex old-mode new-file new-hex new-mode
"c:/Program Files/Beyond Compare 3/BCompare.exe" "$2" "$5" | cat
Moja konfiguracja git wygląda tak dla Diff:
[diff]
external = c:/cygwin/bin/git-diff-wrapper.sh
źródło
/c/program files
zamiastc:/program files
. Usunąłem też"$(cygpath -w $LOCAL)"
i właśnie użyłem"$LOCAL"
. Wydawało się, że to działa.bcompare: command not found
- dopóki nie zmieniłem NAZWY narzędzia zbc3
na coś innego (npabc3
.). Wydaje mi się, że przeszkadzało to jakieś wewnętrzne ustawienie Githuba. Usunąłem też"$(cygpath -w $LOCAL)"
część i zastąpiłem ją"$LOCAL"
. Teraz działa dobrze. Dzięki!Podziękowania dla @dahlbyk , autora Posh-Git , za opublikowanie jego konfiguracji jako sedna . Pomogło mi to rozwiązać problem z konfiguracją.
źródło
cmd = 'C:\\Program Files\\Beyond Compare 4\\BCompare.exe' \"$LOCAL\" \"$REMOTE\"
Uruchom te polecenia dla Beyond Compare 2:
Uruchom te polecenia dla Beyond Compare 3:
Następnie użyj
git difftool
źródło
Note: Use bc3 on the command line for both BC version 3 and 4
Oficjalna dokumentacja zadziałała dla mnie
źródło
Oto mój plik konfiguracyjny. Wymagało to trochę zapasów, ale teraz działa. Używam serwera Windows, msysgit i nie tylko porównać 3 (najwyraźniej wersja x86). Zauważysz, że nie muszę podawać żadnych argumentów i używam „path” zamiast „cmd”.
źródło
Strona Porównaj wsparcie Beyond jest nieco krótki.
Sprawdź moją zewnętrzną odpowiedź diff., Aby uzyskać więcej informacji (dotyczących dokładnej składni)
Wyciąg:
Uwaga: możesz również użyć
git difftool
.źródło
wygląda na to, że BC3 obsługuje tylko 3-drożne scalanie w wersji PRO. http://www.scootersoftware.com/moreinfo.php?zz=kb_editions
źródło
Zwróć uwagę, że robisz złą ścieżkę o wartości 2 USD. ponieważ jesteś pod Cygwin, ale nie BC3, więc powinieneś określić pełną ścieżkę do niego. takie jak „d: / cygwin $ 2”
Proszę odnieść się do mojego git-diff-wrapper.sh tutaj:
Powodzenia.
źródło
bcompare.exe $(cygpath -w $2)
. Twoje zdrowie.Jeśli używasz systemu Windows 7 (profesjonalnego) i Git dla Windows (wersja 2.15 lub nowsza), możesz po prostu uruchomić poniższe polecenie, aby dowiedzieć się, jakie są różne narzędzia porównywania obsługiwane przez Twój Git dla Windows
Zobaczysz wyniki podobne do tego
oznacza to, że twój git nie obsługuje (nie może znaleźć) nieporównywalnego porównania jako difftool w tej chwili.
Aby Git znalazł nieporównywalne narzędzie jako poprawne narzędzie diff, powinieneś mieć katalog instalacyjny Beyond Compare w zmiennej środowiskowej ścieżki systemowej . Możesz to sprawdzić, uruchamiając bcompare z powłoki (cmd, git bash lub powershell. Używam Git Bash). Jeśli Beyond Compare nie uruchomi się, dodaj jego katalog instalacyjny (w moim przypadku C: \ Program Files \ Beyond Compare 4) do zmiennej ścieżki systemowej. Następnie uruchom ponownie powłokę. Git pokaże Beyond Compare jako możliwą opcję difftool. Możesz użyć dowolnego z poniższych poleceń, aby uruchomić poza porównywaniem jako difftool (na przykład, aby porównać dowolny plik lokalny z inną gałęzią)
Możesz skonfigurować poza porównaniem jako domyślny difftool za pomocą poniższych poleceń
ps pamiętaj, że bc w powyższym poleceniu może być bc3 lub bc w oparciu o to, co Git mógł znaleźć w zmiennej systemowej ścieżki.
źródło
Aktualizacja dla BC4 w wersji 64-bitowej: działa dla systemu Git dla systemu Windows 2.16.2 i nowszych Porównaj 4 - wersja 4.2.4 (wersja 64-bitowa)
Ręcznie wyedytowałem plik .gitconfig znajdujący się w katalogu głównym mojego użytkownika „C: \ Users \ MyUserName” i zastąpiłem znaczniki diff / difftool i merge / connectetool na
źródło
http://rubenlaguna.com/wp/2010/08/05/visual-difftool-cygwin-git/ ma rozwiązanie, które zastosowałem do pracy dla BeyondCompare: http://gist.github.com/564573
źródło
Różnica polega na wywołaniu exe: skonfiguruj go tak, aby wywoływał bcomp.exe, a wszystko będzie działać. Skonfiguruj swoje środowisko, aby wywołać bcompare.exe, a skończysz z pustą stroną porównania pobraną z systemu wersji.
źródło
Uruchom te polecenia dla Beyond Compare 3 (jeśli ścieżka BCompare.exe jest inna w twoim systemie, zamień ją zgodnie z twoim):
Następnie użyj
git difftool
źródło
Windows 10, Git v2.13.2
Mój .gitconfig. Pamiętaj, aby dodać znaki zmiany znaczenia dla „\” i „” ”.
Możesz się odwołać ustawienia poza porównaniem jako difftool, aby użyć poleceń git do skonfigurowania go.
źródło
Z jakiegoś powodu dla mnie plik tmp utworzony przez git diff był usuwany, zanim został otwarty w nie do porównania. Najpierw musiałem go skopiować w inne miejsce.
źródło
W przypadku MAC po przeprowadzeniu wielu badań zadziałało to dla mnie ..! 1. Zainstaluj nieporównywalne rozwiązanie, które zostanie zainstalowane w poniższej lokalizacji
Wykonaj następujące kroki, aby ustawić bc jako narzędzie porównywania / scalania w git http://www.scootersoftware.com/support.php?zz=kb_mac
źródło
Dla wersji git 2.15.1.windows.2 z BC2.exe.
Poniższa konfiguracja w końcu działa na moim komputerze.
[difftool "bc2"] cmd = \"c:/program files/beyond compare 2/bc2.exe\" ${LOCAL} ${REMOTE}
źródło