programing

Git를 위한 최고의 시각적 병합 도구는 무엇입니까?

closeapi 2023. 4. 26. 23:21
반응형

Git를 위한 최고의 시각적 병합 도구는 무엇입니까?

Git에서 병합을 보고 편집하는 가장 좋은 도구는 무엇입니까?"내 것", "그들의 것" 및 "조상"이 별도의 패널에 있고 네 번째 "출력" 패널이 있는 3방향 병합 보기를 원합니다.

또한 해당 도구를 호출하는 방법도 좋습니다.(나는 아직 kdiff3를 오류가 나지 않는 방법으로 시작하는 방법을 찾지 못했습니다.)

제 운영체제는 Ubuntu입니다.

Meld는 자유, 오픈 소스 및 크로스 플랫폼(UNIX/리눅스, OSX, Windows) diff/merge 도구입니다.

설치 방법은 다음과 같습니다.

" " " 와 함께 할 수 .git mergetool".

예:

  git config --global merge.tool p4merge
  git config --global mergetool.p4merge.cmd p4merge '$BASE $LOCAL $REMOTE $MERGED'
  git config --global mergetool.p4merge.trustExitCode false

또한 이 작업을 수행하는 동안 "에 대한 diff tool"로 설정할 수도 있습니다.git difftool":

  git config --global diff.tool p4merge
  git config --global difftool.p4merge.cmd p4merge '$LOCAL $REMOTE'

/리눅스를 $BASE셸에 의해 변수로 구문 분석됩니다. 이 작업을 수행하려면 ~/.gitconfig 파일에 실제로 나타나야 합니다.

내가 가장 좋아하는 비욘드 컴퍼 3은 프로 에디션에 병합 기능이 있습니다.병합의 좋은 점은 기본, 왼쪽, 오른쪽 및 병합 결과의 4가지 보기를 모두 볼 수 있다는 것입니다.그것은 P4V보다는 다소 덜 시각적이지만 WinDiff보다는 훨씬 더 많습니다.여러 소스 제어와 통합되며 Windows/Linux에서 작동합니다.고급 규칙, 에디션, 수동 정렬 등 다양한 기능이 있습니다.

Perforce Visual Client(P4V)는 병합을 위한 가장 명시적인 인터페이스 중 하나를 제공하는 무료 도구입니다(일부 스크린샷 참조).모든 주요 플랫폼에서 작동합니다.그 도구에 대한 저의 주된 실망은 일종의 "읽기 전용" 인터페이스라는 것입니다.파일을 수동으로 편집할 수 없으며 수동으로 정렬할 수도 없습니다.

PS: P4Merge는 P4V에 포함되어 있습니다.Perforce는 고객 없이는 툴을 얻기가 조금 어렵습니다.

SourceGear Diff/Merge는 저의 두 번째 무료 도구 선택일 수 있습니다.병합 스크린샷을 확인하면 적어도 3개의 보기가 있는 것을 알 수 있습니다.


MeldSourceGear Diff/Merge보다 더 새로운 무료 도구입니다.이제는 대부분의 플랫폼(Windows/Linux/Mac)에서도 작동하며 Git와 같은 일부 소스 제어를 기본적으로 지원한다는 뚜렷한 이점이 있습니다.따라서 모든 파일에 대한 기록 차이를 훨씬 쉽게 설정할 수 있습니다.병합 보기(스크린샷 참조)에는 SourceGear Diff/Merge와 마찬가지로 3개의 창만 있습니다.따라서 복잡한 경우에는 병합이 다소 어려워집니다.

PS: 만약 하나의 도구가 하루에 5개의 뷰 병합을 지원한다면, 이것은 정말 멋질 것입니다. Git에서 커밋을 체리픽으로 선택하면 실제로 하나의 베이스가 아니라 두 개가 있기 때문입니다.두 개의 기본, 두 개의 변경 및 하나의 결과 병합.

저는 kdiff3에 대해 좋은 소식을 들었습니다.

IntelliJ IDEA에는 Resolve 마법 지팡이가 있는 정교한 병합 충돌 해결 도구가 있어 병합을 크게 간소화합니다.

출처: https://blog.jetbrains.com/dotnet/2017/03/13/rider-eap-update-version-control-database-editor-improvements/

내가 가장 좋아하는 시각적 병합 도구는 SourceGear DiffMerge입니다.

  • 무료입니다.
  • 교차 플랫폼(윈도우즈, OS X 및 리눅스).
  • 시각적 UI 정리
  • 예상되는 모든 차등 기능(Diff, Merge, Folder Diff).
  • 명령줄 인터페이스.
  • 바로 가기 키를 사용할 수 있습니다.

사용자 인터페이스

vimdiff

일단 당신이 vim을 배웠다면, vimdiff는 배우기 위한 하나의 더 아름다운 작은 직교 개념일 뿐입니다.vim에서 온라인 도움말을 보려면:

:help vimdiff 

이 질문에서는 vimdiff를 사용하여 충돌을 해결하는 방법에 대해 설명합니다.

여기에 이미지 설명 입력

마우스 사용의 암흑기에 갇혀 있고 병합할 파일이 그리 크지 않다면 멜드를 추천합니다.

P4Merge를 사용해보세요.

P4Merge를 사용하여 파일 버전 간의 차이점을 시각화합니다.컬러 코딩을 통해 병렬 또는 동시 개발로 인해 발생하는 충돌을 해결합니다.

기능은 다음과 같습니다.

  • 텍스트 파일 차이 강조 및 편집
  • 줄 끝 또는 공백 포함 또는 무시 선택
  • Windows(CRLF), Mac(CR) 및 Unix(LF)에 대한 줄 바꿈 규칙 인식
  • 명령줄 매개 변수 사용 및 비 Perforce 응용 프로그램에서 실행
  • 파일을 비교 및 병합할 때 줄 번호 표시
  • 수정되거나 고유하거나 변경되지 않은 파일 제외
  • 이름 또는 확장명으로 파일 필터링
  • 익숙한 파일/폴더 계층에서 수정된 자산 구성
  • JPEG, GIF, TIFF, BMP 및 기타 파일 형식 비교
  • Qt API를 사용하여 확장
  • 영상을 오버레이하거나 나란히 표시
  • 중첩된 영상에서 차이 강조

확산은 제가 가장 좋아하는 것이지만 물론 편향되어 있습니다. :-) 사용하기 매우 쉽습니다.

$ diffuse "mine" "output" "theirs"

확산은 파이썬으로 작성된 작고 간단한 텍스트 병합 도구입니다.확산 기능을 사용하면 코드 변경사항을 쉽게 병합, 편집 및 검토할 수 있습니다.확산은 자유 소프트웨어입니다.

Araxis Merge http://www.araxis.com/merge 저는 Mac OS X에서 사용하고 있지만 윈도우에서 사용한 적이 있습니다.무료가 아닙니다.하지만 몇 가지 멋진 특징들이 있습니다...하지만 창문에는 더 친절합니다.

비교할 수 없을 정도로 어려운 도구를 찾고 있다면 매우 좋습니다. http://www.scootersoftware.com/moreinfo.php

Gitmerge 도구에서 사용하는 도구를 전달하여 변경할 수 있습니다.git mergetool -t=<tool>또는--tool=<tool>기본값을 변경하려면(vimdiff에서) 사용git config merge.tool <tool>.

Git Merge의 경우 다음을 시도할 수 있습니다.

  • DiffMerge는 Windows, OS X 및 Linux에서 시각적으로 파일을 비교하고 병합합니다.

    DiffMerge

  • Meld는 시각적 디프 및 병합 도구입니다.

    Meld는 시각적 디프 및 병합 도구입니다.

  • 2개 또는 3개의 텍스트 입력 파일/dir를 비교 또는 병합하는 Diff3, diff3 프로그램)입니다.
  • opendiff (macOS의 Xcode Tools 일부)는 터미널에서 파일 병합 응용 프로그램을 실행하여 병합을 포함한 파일 또는 디렉터리를 그래픽으로 비교하는 명령줄 유틸리티입니다.

여기에 언급된 많은 도구를 사용해 보았지만 제가 찾고 있는 도구는 하나도 없었습니다.

개인적으로, 저는 Atom이 차이점을 시각화하고 갈등 해결/합병을 위한 훌륭한 도구라는 것을 알게 되었습니다.

병합의 경우, 세 개의 보기는 없지만 각 버전에 대한 색상 강조 표시와 함께 모두 하나로 결합됩니다.코드를 직접 편집하거나 원하는 스니펫 버전을 사용할 수 있는 버튼이 있습니다.

저는 더 이상 편집자나 IDE로도 사용하지 않습니다. 단지 git로 작업하기 위해서요.깨끗한 UI와 매우 간단한 기능, 그리고 사용자 정의가 매우 용이합니다.

  • 명령줄에서 시작하여 열려는 단일 파일을 전달하거나 프로젝트 폴더(gitrepo)를 추가할 수 있습니다.

    • 또한 트리 뷰를 채우지 않고 프로젝트 간을 이동할 수 있는 매우 편리한 방법으로 프로젝트 관리자를 추천합니다.
  • 제가 가진 유일한 문제는 큰 저장소를 사용하는 작업이 외부에서 변경한 내용을 업데이트하는 데 시간이 걸릴 수 있다는 점입니다.작업이 완료되면 항상 닫기만 하고 변경사항/커밋을 다시 보고 싶을 때 다시 엽니다.Ctrl+shift+f5를 사용하여 창을 다시 로드할 수도 있으며, 이 작업은 몇 초만 소요됩니다.

물론 무료입니다.

비주얼 스튜디오를 사용하는 경우 Team Explorer 기본 제공 도구는 깃 병합 충돌을 해결하는 데 매우 유용한 도구입니다.

병합 및 비교를 위해 다양한 도구를 사용합니다.

git config --global diff.tool diffuse
git config --global merge.tool kdiff3

먼저 호출할 수 있는 사용자:

git difftool [BRANCH] -- [FILE or DIR]

는 두번는사때호다니출됩할용째▁you▁use▁when를 사용할 때 불러요.git mergetool.

Linux, Mac 또는 Windows에 ECMerge diff/merge 도구를 설치할 수 있습니다.Git에서 미리 구성되어 있으므로 사용하기만 하면 됩니다.git mergetool그 일을 할 것입니다.

gitx http://gitx.frim.nl/

큰 커밋 세트로 작업할 때 일부 버그가 발생하지만 변경 사항을 탐색하고 단계별로 다른 변경 사항을 선택한 다음 커밋하기에 좋습니다.

언급URL : https://stackoverflow.com/questions/137102/whats-the-best-visual-merge-tool-for-git

반응형