Subversion, Git, Mercurial i inne obsługują połączenia trójstronne (łączące moje, ich i wersję „podstawową”) oraz obsługują narzędzia graficzne do rozwiązywania konfliktów.
Jakiego narzędzia używasz? Windows, Mac OS X, Linux, darmowy lub komercyjny, nazywasz to.
Oto kilka, z których korzystałem lub o których słyszałem, aby rozpocząć rozmowę:
(Rozumiem, że jest to coś w rodzaju narzędzia Best Diff , ale różni się tym, że wyraźnie koncentruję się na trójstronnych narzędziach do scalania; na przykład WinMerge nie znajduje się na liście).
version-control
merge
dvcs
Dan Fabulich
źródło
źródło
Odpowiedzi:
KDiff3 open source, wieloplatformowy
Ten sam interfejs dla systemów Linux i Windows, bardzo inteligentny algorytm rozwiązywania konfliktów, wyrażenia regularne do automatycznego rozwiązywania konfliktów, integracja z ClearCase, SVN, Git, MS Visual Studio, edytowalny scalony plik, porównanie katalogów
Nawigacja po klawiaturze jest świetna: strzałki Ctrl do nawigacji po różnicach, Ctrl-1, 2, 3 do łączenia.
Zobacz także https://stackoverflow.com/a/2434482/42473
źródło
kdiff3
odpowiedź na przykład.kdiff3
z radością różnicuje i łączy całe drzewa katalogów i robi to od wielu lat! Niektóre narzędzia (takie jakgit
) mogą uruchamiać go tylko dla jednego pliku, ale inne narzędzia (takie jak mercurial) z przyjemnością pozwolą ci na trójstronne różnicowanie / scalanie całych repozytoriów.Właśnie sprawdziłem P4merge, ponieważ słyszałem o tym w innym artykule na blogu:
Bardzo elegancki interfejs i ZA DARMO! Byłem wiernym użytkownikiem scalania Araxis, ale biorąc pod uwagę, że jest to darmowy i niesamowity, zachęcam do sprawdzenia.
źródło
Beyond Compare 3 Pro obsługuje łączenie trójstronne i jest to dość imponujące narzędzie do scalania. Jest komercyjny (ale warto, IMHO) i jest dostępny w systemach Windows, Linux i Mac OS X.
Jak wskazano w komentarzu, jest to również niedrogie.
Uwaga: Jeśli nie ma zestawu scalania, to znaczy znaczników scalania rezydujących w pliku docelowym, Beyond Compare nie oferuje trójstronnego porównywania / edycji plików. Beyond Compare twierdzi, że ta funkcja znajduje się na ich liście .
Uwaga: Scalanie w 3 kierunkach jest funkcją tylko w edycji Pro Beyond Compare 3
źródło
Meld Diff Viewer
Miałem tylko dobre doświadczenia ze współpracą z Meld. Używam go, gdy muszę robić niechlujne połączenia kodu między oddziałami. Jest prosty w obsłudze i ma czysty interfejs.
W Ubuntu instalacja jest tak prosta jak:
sudo apt-get install meld
źródło
vimdiff. Wspaniale. Wszystko czego potrzebujesz to okno o szerokości trzech stóp.
źródło
Źródło Diff Merge :
Wieloplatformowe, prawdziwe połączenia trójstronne i jest całkowicie darmowy do użytku komercyjnego lub osobistego.
źródło
Araxis Merge . Jest komercyjny, ale jest tego wart ... Jest dostępny dla Windows i Mac OS X.
źródło
Algorytm rozwiązywania konfliktów Kdiff3 jest naprawdę imponujący.
Nawet gdy subversion wskazuje na konflikt, Kdiff3 rozwiązuje go automatycznie. Istnieją wersje dla systemu Windows i Linux z tym samym interfejsem. Możliwe jest zintegrowanie go z Tortoise i ze swoją linuksem.
Jest na liście moich ulubionych programów open source. Jedno z pierwszych narzędzi, które instaluję na dowolnej maszynie.
Możesz skonfigurować go jako domyślne narzędzie do porównywania w Subversion, Git, Mercurial i ClearCase. Rozwiązuje również prawie wszystkie konflikty ClearCase. W systemie Windows ma dobrą integrację z Eksploratorem Windows: wybierz dwa pliki i kliknij prawym przyciskiem myszy, aby je porównać, lub kliknij prawym przyciskiem myszy, aby zapisać plik do później, a następnie wybierz inny do porównania.
Scalony plik można edytować. Ma zręczne skróty klawiaturowe.
Możesz także użyć go do porównania i scalenia katalogów. Widzieć:
Zaawansowaną funkcją jest używanie wyrażeń regularnych do definiowania automatycznych połączeń.
Moją jedyną irytacją jest to, że trudno jest go skompilować, jeśli nie ma go w twoim ulubionym repozytorium dystrybucji.
źródło
Kocham Ediffa . Jest wbudowany w GNU Emacs .
Aby wykonać różnicę w trzech kierunkach, użyj
ediff-files3
(do wyboru trzech plików) lubediff-buffer3
(do wyboru trzech już otwartych buforów). Otrzymasz ekran wyglądający tak:Zwróć uwagę na wyróżnienie różnicy słów.
Można uderzyć
n
lubp
, aby przejść do następnego / poprzedniego dyferencjału, natomiastab
skopiuje ten region od buforu A (skrajnej lewej jeden) do buforu B (środkowy) i podobnie dla innych kombinacji dwu literowyma
,b
,c
;rb
przywróci region w buforze b. Hit?
dla szybkiego menu pomocy, albo przeczytać instrukcję dobrze na wyjściowego diff3 wtopienie się w Emacs .źródło
ediff-merge-with-ancestor
), ale nie jestem pewien, czy to ma 3 lub 4 szyby, a także zrzut ekranu powyżej nie odzwierciedlają.ab
skopiuje region z bufora a do bufora b. Nie wydaje mi się, żeby istniała wersja z czterema oknamiediff
. (Wiem, żeemerge
zamiast tego używa dedykowanego bufora wyjściowego, aleemerge-files-with-ancestor
nie pokazuje przodka, używa go tylko do odgadnięcia właściwej wersji , sprawdzając, który z nich zgadza się z tym.)Ultracompare . Jest naprawdę dobry, dobrze radzi sobie z dużymi plikami (ponad 1 GB), jest dostępny na Windows / Mac / Linux i jest komercyjny, ale warto.
źródło
Diffuse to łatwe w użyciu narzędzie do łączenia w trzy strony. Obsługuje wszystkie wymienione platformy i systemy kontroli wersji i może porównywać więcej niż trzy pliki jednocześnie.
źródło
xxdiff, jeśli jesteś w krainie Linuksa.
źródło
Podsumowując, uważam, że ECMerge jest świetnym, choć komercyjnym produktem. http://www.elliecomputing.com/products/merge_overview.asp
Zgadzam się również z MrTelly, że Ultracompare jest bardzo dobra. Jedną fajną cechą jest to, że porównuje dokumenty RTF i Word, co jest przydatne, gdy kończysz programowanie w słowach ze sprzedawcami i nie zarządzają oni swoimi dokumentami poprawnie.
źródło