From c9dcfee0410996081233646462de7c747be36419 Mon Sep 17 00:00:00 2001 From: choibk Date: Wed, 18 Feb 2026 20:53:04 +0900 Subject: [PATCH] esxiwin11-20260218-2052 --- .obsidian/workspace.json | 17 +++-- ...œ„ ์‚ฌ์šฉ์‹œ ์˜ค๋ฅ˜, ์—๋Ÿฌ๋“ฑ ๋ฐœ์ƒ์‹œ ์กฐ์น˜๋ฐฉ๋ฒ• ์ •๋ฆฌ.md | 67 +++++++++++++++++++ 2 files changed, 77 insertions(+), 7 deletions(-) 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