esxiwin11-20260218-2052
This commit is contained in:
17
.obsidian/workspace.json
vendored
17
.obsidian/workspace.json
vendored
@@ -25,14 +25,17 @@
|
|||||||
"id": "5174113f97a638e5",
|
"id": "5174113f97a638e5",
|
||||||
"type": "leaf",
|
"type": "leaf",
|
||||||
"state": {
|
"state": {
|
||||||
"type": "markdown",
|
"type": "canvas",
|
||||||
"state": {
|
"state": {
|
||||||
"file": "git 일일단위 사용시 오류, 에러등 발생시 조치방법 정리.md",
|
"file": "2026년 월력형 메모형 일정(2월).canvas",
|
||||||
"mode": "preview",
|
"viewState": {
|
||||||
"source": false
|
"x": 6734,
|
||||||
|
"y": 18050,
|
||||||
|
"zoom": -4
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"icon": "lucide-file",
|
"icon": "lucide-layout-dashboard",
|
||||||
"title": "git 일일단위 사용시 오류, 에러등 발생시 조치방법 정리"
|
"title": "2026년 월력형 메모형 일정(2월)"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@@ -200,10 +203,10 @@
|
|||||||
},
|
},
|
||||||
"active": "5174113f97a638e5",
|
"active": "5174113f97a638e5",
|
||||||
"lastOpenFiles": [
|
"lastOpenFiles": [
|
||||||
|
"git 일일단위 사용시 오류, 에러등 발생시 조치방법 정리.md",
|
||||||
"gemini_git_생활코딩_강의_정리.md",
|
"gemini_git_생활코딩_강의_정리.md",
|
||||||
"gitea 첫 동기화 방법.md",
|
"gitea 첫 동기화 방법.md",
|
||||||
"2026년 월력형 메모형 일정(2월).canvas",
|
"2026년 월력형 메모형 일정(2월).canvas",
|
||||||
"git 일일단위 사용시 오류, 에러등 발생시 조치방법 정리.md",
|
|
||||||
"ㄴ.md",
|
"ㄴ.md",
|
||||||
"2025년 월력형 메모형 일정.canvas",
|
"2025년 월력형 메모형 일정.canvas",
|
||||||
"일일결산.md",
|
"일일결산.md",
|
||||||
|
|||||||
@@ -1730,3 +1730,70 @@ Git에서 충돌(conflict)이 발생했을 때 **어떤 파일이 충돌했는
|
|||||||
혹시 지금 충돌을 해결할 때 **터미널에서 직접 수정**을 원하시나요, 아니면 **VS Code 같은 에디터에서 GUI로 해결**하는 방법을 원하시나요?
|
혹시 지금 충돌을 해결할 때 **터미널에서 직접 수정**을 원하시나요, 아니면 **VS Code 같은 에디터에서 GUI로 해결**하는 방법을 원하시나요?
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
---
|
||||||
|
|
||||||
|
# git에서 difftool명령어 자세하게 알려줘
|
||||||
|
|
||||||
|
|
||||||
|
Git의 `git diff`가 터미널에서 텍스트 위주로 차이점을 보여준다면, **`git difftool`**은 이를 GUI(그래픽 사용자 인터페이스) 도구로 연결해 훨씬 직관적으로 코드 변경 사항을 비교할 수 있게 해주는 명령어입니다.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1. `git difftool`이란?
|
||||||
|
|
||||||
|
기본적인 `git diff`는 수정한 내용을 `+`와 `-` 기호로만 보여주기 때문에 코드가 복잡해지면 가독성이 떨어집니다. `difftool`을 사용하면 VS Code, Meld, Beyond Compare 같은 외부 도구를 실행해 **좌우 분할(Side-by-side) 화면**으로 차이점을 확인할 수 있습니다.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 2. 주요 사용법 (기본 명령어)
|
||||||
|
|
||||||
|
가장 자주 사용되는 옵션들은 다음과 같습니다.
|
||||||
|
|
||||||
|
|**명령어**|**설명**|
|
||||||
|
|---|---|
|
||||||
|
|`git difftool`|작업 디렉토리와 스테이징 영역 간의 차이점 비교|
|
||||||
|
|`git difftool <commit_id>`|특정 커밋과 현재 상태 비교|
|
||||||
|
|`git difftool <commit_1> <commit_2>`|두 커밋 사이의 차이점 비교|
|
||||||
|
|`git difftool --cached`|스테이징된 파일(Index)과 마지막 커밋 비교|
|
||||||
|
|`git difftool -d` (또는 `--dir-diff`)|파일 하나씩 여는 대신, **전체 변경된 파일 목록**을 한꺼번에 비교|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 3. 외부 도구 설정하기 (Config)
|
||||||
|
|
||||||
|
`difftool`을 제대로 쓰려면 어떤 도구를 사용할지 Git에게 알려줘야 합니다. 예를 들어 **VS Code**를 기본 도구로 설정하는 방법은 다음과 같습니다.
|
||||||
|
|
||||||
|
Bash
|
||||||
|
|
||||||
|
```
|
||||||
|
# 기본 도구를 vscode로 설정
|
||||||
|
git config --global diff.tool vscode
|
||||||
|
|
||||||
|
# vscode를 실행하기 위한 명령어 경로 설정
|
||||||
|
git config --global difftool.vscode.cmd 'code --wait --diff $LOCAL $REMOTE'
|
||||||
|
```
|
||||||
|
|
||||||
|
> **Tip:** 매번 "외부 도구를 실행하시겠습니까? (y/n)"라고 묻는 게 귀찮다면 아래 설정을 추가하세요.
|
||||||
|
>
|
||||||
|
> `git config --global difftool.prompt false`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 4. 실무 활용 팁
|
||||||
|
|
||||||
|
- **`-d` 옵션은 필수:** 파일이 여러 개 수정되었을 때 `git difftool`만 치면 파일 하나를 닫아야 다음 파일이 열립니다. 하지만 `git difftool -d`를 사용하면 도구 내에서 폴더 구조로 전체 변경 사항을 한눈에 볼 수 있어 훨씬 편합니다.
|
||||||
|
|
||||||
|
- **충돌 해결은 `mergetool`:** `difftool`은 단순히 **조회**용입니다. 만약 Merge 중 충돌(Conflict)이 발생해 코드를 수정해야 한다면 `git mergetool`을 사용하세요.
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 5. 대표적인 추천 도구들
|
||||||
|
|
||||||
|
- **무료:** Visual Studio Code (강력 추천), Meld, KDiff3, P4Merge
|
||||||
|
|
||||||
|
- **유료:** Beyond Compare (가장 정교함), Araxis Merge
|
||||||
|
|
||||||
|
|
||||||
|
혹시 지금 사용하시는 **특정 에디터(VS Code, IntelliJ 등)**에 맞춘 구체적인 설정 방법이 궁금하신가요? 구체적인 도구 이름을 알려주시면 바로 설정 코드를 알려드릴 수 있습니다.
|
||||||
Reference in New Issue
Block a user