텍스트 병합
텍스트 병합은 파일의 두 버전에 있는 변경을 하나의 편집 가능한 결과로 합칩니다. 충돌은 두 변경이 서로 양립하지 않아 결정을 내려야 할 때 발생합니다.
레이아웃
이 화면에는 같은 파일의 세 가지 버전이 표시됩니다.
- 왼쪽 패널은 로컬 변경이 들어 있는 내 버전입니다.
- 가운데 패널은 결과입니다. 편집할 수 있는 패널은 이것뿐입니다.
- 오른쪽 패널은 원격 변경이 들어 있는 들어온 버전입니다.
병합 레이아웃은 두 가지입니다.
- 삽입 간격 병합은 명시적인 빈 줄을 사용해 세 패널을 정렬합니다.
- 커넥터 병합은 관련된 변경이 패널 사이에서 어떻게 대응되는지 보여 주기 위해 연결 열을 사용합니다.
전환하려면 보기 메뉴나 오른쪽 위의 분할 컨트롤을 사용하십시오.
베이스
네 번째 버전도 있습니다. 바로 베이스입니다. 이것은 양쪽이 출발한 원본 버전이며, Git의 3-way merge 모델과 같습니다.
Local → Base ← Remote
↓
Result
ABDiff에서는 가운데 패널을 결과와 베이스 사이에서 전환해 무엇이 바뀌었는지 더 잘 이해할 수 있습니다.
충돌이란?
충돌은 양쪽이 같은 줄을 서로 다르게 수정할 때 발생합니다. 예를 들어 원래 값이 “blue”였는데, 한쪽은 “green”, 다른 쪽은 “red”로 바꾼 경우입니다. Git은 어떤 변경이 올바른지 판단할 수 없기 때문에 수동 해결이 필요합니다.
이런 일은 두 사람이 같은 줄을 동시에 편집할 때 생깁니다. 변경이 겹치지 않으면 Git이 자동으로 병합하지만, 겹치면 직접 해결해야 합니다.
충돌 해결
Git을 설정 해 두었다면, Git이 충돌을 찾을 때 ABDiff가 실행됩니다. 결과 영역은 미해결 상태로 남아 있고, 그 내용을 정하는 것이 당신의 작업입니다. 선택지는 세 가지입니다.
- 로컬 버전으로 해결
- 들어온 버전으로 해결
- 직접 결과 작성
- 선택된 줄을 편집합니다(Return 또는 더블 클릭)
- 또는 양쪽 중 한쪽에서 줄을 복사합니다: 오른쪽 클릭 ▸ 선택 항목을 결과로 복사 (⌘→ / ⌘←)
팁:
- 선택을 확장해(⇧↑ / ⇧↓) 여러 줄을 한 번에 복사할 수 있습니다.
- 모든 변경은 ⌘Z로 되돌릴 수 있습니다.
해결 완료로 표시
작업이 끝나면 파일을 저장하십시오(파일 ▸ 저장 또는 ⌘S). 그러면 Git에 충돌이 해결되었음을 알리게 됩니다.
충돌을 해결하고 싶지 않다면 저장하지 않고 파일을 닫으면 됩니다.
편집 및 탐색
탐색
| 동작 | 단축키 |
|---|---|
| 이전 / 다음 줄 | ↑ / ↓ |
| 이전 / 다음 패널 | ← / → |
| 첫 줄 / 마지막 줄로 이동 | ⌘↑ / ⌘↓ |
| 이전 / 다음 변경 | ⌥↑ / ⌥↓ |
| 이전 / 다음 헝크 | ⌥↑ / ⌥↓ |
| 다른 패널로 전환 | ⇥ |
복사
| 동작 | 단축키 |
|---|---|
| 선택을 결과로 복사 | ⌘← ⌘→ |
| 선택 확장 | ⇧↑ / ⇧↓ |
| 우리 버전 / 상대 버전으로 해결 | ⇧⌘→ / ⇧⌘← |
선택된 줄은 회색 사각형으로 표시됩니다. 헝크는 연속된 충돌 또는 변경 블록입니다. 복사 동작은 결과 패널을 실제로 바꾸는 경우에만 활성화되며, 선택이 실제 줄 위에 있어야 합니다. 행을 Shift-클릭해도 같은 패널 안에서 현재 선택을 확장할 수 있습니다.
변경을 복사하려면:
- 복사를 사용해 현재 선택된 줄을 복사합니다.
- 전체 헝크 복사를 사용해 선택된 줄이 속한 블록 전체를 복사합니다.
- 현재 선택 안에서 오른쪽 클릭하면 선택이 유지되고, 다른 곳에서 오른쪽 클릭하면 먼저 그 줄이 선택됩니다.
- 행 컨텍스트 메뉴에는 Shift + 화살표 이동이 가능한 경우 선택 위로 확장 / 선택 아래로 확장도 표시됩니다.
- 선택한 줄에 대해 다음으로 해결을 사용합니다. 행을 오른쪽 클릭하거나 편집 ▸ 다음으로 해결 메뉴에서 사용할 수 있습니다.
모든 복사 작업은 ⌘Z로 되돌릴 수 있습니다.
편집
| 동작 | 단축키 |
|---|---|
| 선택한 결과 줄 편집 시작 | Return |
| 결과 줄을 바로 편집 시작 | 행 더블 클릭 |
| 확정하고 다음 편집 가능한 줄로 이동 | Return (편집 중) |
| 확정하고 편집 모드 종료 | Command-Return |
| 현재 줄 버퍼를 버리고 편집 모드 종료 | Esc 또는 Command-. |
행을 더블 클릭해서도 편집을 시작할 수 있습니다. 모든 편집 작업은 ⌘Z로 되돌릴 수 있습니다.
보기 옵션
텍스트 병합에는 비교 계산 방식이나 표시 방식을 바꾸는 옵션이 있습니다. 이 옵션은 옵션 메뉴에서 사용할 수 있습니다.
- 무시 패턴은 잡음이 많은 차이를 줄여 줍니다. 무시 패턴을 참고하십시오.
- JSON 정규화는 입력을 정규 형식으로 변환하여 비교를 의미 있게 만듭니다. 정규화된 파일을 저장하면 입력 파일이 정규화된 형식으로 다시 작성됩니다.