diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json index 9f3440d..369ecb1 100644 --- a/.obsidian/workspace.json +++ b/.obsidian/workspace.json @@ -25,14 +25,17 @@ "id": "5174113f97a638e5", "type": "leaf", "state": { - "type": "markdown", + "type": "canvas", "state": { - "file": "git 일일단위 사용시 오류, 에러등 발생시 조치방법 정리.md", - "mode": "preview", - "source": false + "file": "2026년 월력형 메모형 일정(2월).canvas", + "viewState": { + "x": 6734, + "y": 18050, + "zoom": -4 + } }, - "icon": "lucide-file", - "title": "git 일일단위 사용시 오류, 에러등 발생시 조치방법 정리" + "icon": "lucide-layout-dashboard", + "title": "2026년 월력형 메모형 일정(2월)" } } ], @@ -200,10 +203,10 @@ }, "active": "5174113f97a638e5", "lastOpenFiles": [ + "git 일일단위 사용시 오류, 에러등 발생시 조치방법 정리.md", "gemini_git_생활코딩_강의_정리.md", "gitea 첫 동기화 방법.md", "2026년 월력형 메모형 일정(2월).canvas", - "git 일일단위 사용시 오류, 에러등 발생시 조치방법 정리.md", "ㄴ.md", "2025년 월력형 메모형 일정.canvas", "일일결산.md", diff --git a/git 일일단위 사용시 오류, 에러등 발생시 조치방법 정리.md b/git 일일단위 사용시 오류, 에러등 발생시 조치방법 정리.md index 203e66f..8d59e86 100644 --- a/git 일일단위 사용시 오류, 에러등 발생시 조치방법 정리.md +++ b/git 일일단위 사용시 오류, 에러등 발생시 조치방법 정리.md @@ -1730,3 +1730,70 @@ Git에서 충돌(conflict)이 발생했을 때 **어떤 파일이 충돌했는 혹시 지금 충돌을 해결할 때 **터미널에서 직접 수정**을 원하시나요, 아니면 **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 `|특정 커밋과 현재 상태 비교| +|`git difftool `|두 커밋 사이의 차이점 비교| +|`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 등)**에 맞춘 구체적인 설정 방법이 궁금하신가요? 구체적인 도구 이름을 알려주시면 바로 설정 코드를 알려드릴 수 있습니다. \ No newline at end of file