문제

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

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

내 OS는 우분투입니다.

도움이 되었습니까?

해결책

멜드 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

그리고 당신이 그것에있는 동안, 당신은 또한 당신의 difftool로 설정할 수도 있습니다. "git difftool":

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

Unix/Linux에서는 원하지 않습니다. $BASE 쉘에 의해 변수로 구문 분석하려면 실제로 작동하려면 ~/.gitconfig 파일에 나타나야합니다.

비교를 넘어서 3, 내가 가장 좋아하는 것은 a 병합 에서의 기능 프로 에디션. 병합의 좋은 점은 기본, 왼쪽, 오른쪽 및 병합 된 결과의 4 가지보기를 모두 볼 수 있다는 것입니다. 그것은보다 시각적으로 덜 시각적입니다 P4V 그러나 Windiff보다 더. 그것 많은 소스 컨트롤과 통합됩니다 Windows/Linux에서 작동합니다. 고급 규칙, 판, 수동 정렬과 같은 많은 기능이 있습니다 ...

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

추신 : P4Merge는 P4V에 포함되어 있습니다. Perforce는 고객없이 도구를 얻기가 조금 어렵게 만들려고합니다.

소스 기어 Diff/Merge 두 번째 무료 도구 선택 일 수 있습니다. 그 합병을 확인하십시오 스크린 샷 그리고 당신은 그것이 최소한 3 개의 조회수를 가지고 있음을 알 수 있습니다.


멜드 내가 선호하는 새로운 무료 도구입니다 소스 기어 Diff/Merge: 이제 일부 소스 컨트롤과 git. 따라서 모든 파일에서 일부 히스토리가 훨씬 더 간단해질 수 있습니다. 병합보기 (참조 스크린 샷)에는 3 개의 창이 있습니다 소스 기어 Diff/Merge. 이로 인해 복잡한 경우에는 더 어려워집니다.

추신 : 하루에 하나의 도구가 지원되는 경우 5 개의 뷰 합병, 이것은 정말로 굉장 할 것입니다. 왜냐하면 당신이 cherry-pick commits in git을 만들면 실제로 하나의베이스가 아니라 2가 있기 때문입니다. 두 개의베이스, 두 개의 변경 및 하나는 병합됩니다.

내가 가장 좋아하는 Visual Merge 도구는입니다 Source -Gear Diffmerge

  • 공짜 야.
  • 크로스 플랫폼 (Windows, OS X 및 Linux).
  • 깨끗한 시각 UI
  • 예상되는 모든 Diff 기능 (Diff, Merge, Folder Diff).
  • 명령 줄 인터페이스.
  • 사용 가능한 키보드 바로 가기.

User interface

KDIFF3에 대해 좋은 말을 듣습니다.

vimdiff

vim을 배우고 나면(그리고 IMHO는 그래야 합니다), vimdiff는 배워야 할 또 하나의 아름다운 작은 직교 개념입니다.vim에서 온라인 도움말을 얻으려면:

:help vimdiff 

이 질문은 사용 방법을 다룹니다. 충돌을 해결하기 위해 vimdiff를 어떻게 사용합니까?

enter image description here

마우스 사용의 암흑기에 갇혀 있고 병합하려는 파일이 그다지 크지 않다면 meld를 권장합니다.

당신은 시도 할 수 있습니다 p4merge.

P4Merge를 사용하여 파일 버전의 차이점을 시각화하십시오. 색상 코딩을 통한 평행 또는 동시 발달로 인한 충돌을 해결합니다.

기능에는 다음이 포함됩니다.

  • 텍스트 파일 차이를 강조하고 편집합니다
  • 라인 엔딩 또는 흰색 공간을 포함하거나 무시하도록 선택
  • Windows (CRLF), MAC (CR) 및 UNIX (LF) 용 라인 끝 컨벤션 인식
  • 명령 줄 매개 변수를 사용하고 비 인구 애플리케이션에서 시작하십시오
  • 파일을 비교하고 병합 할 때 줄 번호를 표시합니다
  • 수정, 고유 또는 변경되지 않은 파일 제외
  • 이름 또는 확장자로 파일을 필터링합니다
  • 친숙한 파일/폴더 계층으로 수정 된 자산을 구성하십시오
  • JPEG, GIF, TIFF, BMP 및 기타 파일 형식 비교
  • QT API를 사용하여 확장하십시오
  • 이미지를 오버레이하거나 나란히 표시합니다
  • 오버레이 된 이미지의 차이점을 강조 표시합니다

Intellij 아이디어 정교함이 있습니다 충돌 해결 도구를 병합하십시오 결의를 통해 병합을 크게 단순화하는 Magic Wand를 사용합니다.

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

퍼지다 내가 가장 좋아하는 것은 물론 편견이 있습니다. :-) 사용하기가 매우 쉽습니다.

$ diffuse "mine" "output" "theirs"

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

Araxis 합병 http://www.araxis.com/mergeMac OS X에서 사용하고 있지만 Windows에서 사용했습니다 ... 무료는 아니지만 일부가 있습니다. 멋진 기능...하지만 창문에서는 더 좋습니다.

비교 이외의 Diff 도구를 찾고 있다면 꽤 좋습니다. http://www.scootersoftware.com/moreinfo.php

통과하여 git grgetool에서 사용하는 도구를 변경할 수 있습니다. git mergetool -t=<tool> 또는 --tool=<tool>. 기본값 (Vimdiff)에서 변경하려면 사용합니다 git config merge.tool <tool>.

따라서 git 병합의 경우 다음을 시도 할 수 있습니다.

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

    DiffMerge

  • 멜드, 시각적 차이 및 병합 도구입니다.

    Meld is a visual diff and merge tool

  • KDIFF3, diff and merge program), 2 ~ 3 개의 텍스트 입력 파일/DIRS를 비교하거나 병합합니다.
  • opendiff (MACOS의 Xcode Tools의 일부), 터미널에서 FileMerge 응용 프로그램을 시작하여 파일 또는 디렉토리를 포함하여 Filemerge 응용 프로그램을 시작하는 명령 줄 유틸리티 병합.

나는 여기에 언급 된 많은 도구를 시도했지만 그중 어느 것도 내가 찾고있는 것이 아니 었습니다.

개인적으로, 나는 찾았습니다 원자 차이와 충돌 해결/병합을 시각화하기위한 훌륭한 도구가되기 위해.

병합에 관해서는 세 가지 뷰가 없지만 각 뷰는 각 버전에 대해 컬러 하이라이트와 하나로 결합되어 있습니다. 코드를 직접 편집하거나 원하는 스 니펫 버전을 사용할 버튼이 있습니다.

나는 git과 함께 일하기 위해 더 이상 편집자 나 IDE로 사용하지 않습니다. 깨끗한 UI와 매우 직선적이며 사용자 정의가 가능합니다.

  • 명령 줄에서 시작하고 열고 싶은 단일 파일로 전달하거나 프로젝트 폴더 (GIT Repo)를 추가 할 수 있습니다.

    • 나는 또한 추천합니다 프로젝트 매니저 트리 뷰를 채우지 않고 프로젝트를 탐색하는 매우 편리한 방법으로.
  • 내가 가진 유일한 문제는 상쾌한 것입니다. 대규모 리포지토리로 작업 할 때 Atom이 밖에서 변경하는 데 속도가 느릴 수 있습니다. 끝났을 때 항상 닫은 다음 변경/커밋을 다시보고 싶을 때 다시 문을 열었습니다. CTRL+Shift+F5로 창을 다시로드 할 수도 있습니다.

물론 무료입니다.

설치할 수 있습니다 Ecmerge Diff/Merge 도구 Linux, Mac 또는 Windows에서. GIT에서 미리 구성되어 있으므로 사용 만 사용하십시오 git mergetool 일을 할 것입니다.

I use different tools for merge and compare:

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

Fist could be called by:

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

Second is called when you use git mergetool.

If you do use visual studio, Team Explorer built in tool is a very nice tool to resolve git merge conflicts.

gitx http://gitx.frim.nl/

Some bugs when working with large commit sets but great for browsing through changes and picking different changes to stage and then commit.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top