Vscode: Git: VS Code๋ฅผ ๋ณ‘ํ•ฉ ํŽธ์ง‘๊ธฐ๋กœ ์‚ฌ์šฉ

์— ๋งŒ๋“  2016๋…„ 04์›” 25์ผ  ยท  96์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: microsoft/vscode

1.0.0์—์„œ๋Š” VS Code๋ฅผ git difftool๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๋„์ž…ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ด€๋ จ ๊ธ€๋กœ๋ฒŒ .gitconfig ๋ผ์ธ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

[diff]
    tool = default-difftool
[difftool "default-difftool"]
    cmd = code --wait --diff $LOCAL $REMOTE

VS Code๋ฅผ git mergetool ๋กœ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?

์ˆ˜๋ฝํ•ด์•ผ ํ•˜๋Š” ๊ด€๋ จ ์ธ์ˆ˜๋Š” $LOCAL , $REMOTE , $BASE ๋ฐ $MERGED ์ž…๋‹ˆ๋‹ค.

feature-request git

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์€ ์—†์—ˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๐Ÿ˜‰

๋ชจ๋“  96 ๋Œ“๊ธ€

์•„์ง ์ง€์›๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ํ˜น์‹œ ์ด ๊ธฐ๋Šฅ์ด ๋‹ค์Œ ๋ฐ˜๋ณต์— ํฌํ•จ๋ ๊นŒ์š”?

์•„๋งˆ๋„ ๊ทธ๋ ‡์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ณ‘ํ•ฉ UI๋ฅผ ๊ตฌํ˜„ํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด๊ฒƒ์€ ํฐ ๋…ธ๋ ฅ์ž…๋‹ˆ๋‹ค.

3๋ฐฉํ–ฅ ๋ณ‘ํ•ฉ์„ ์ง€์›ํ•˜๋Š” ๋ณ‘ํ•ฉ UI์— ๋Œ€ํ•œ ๊ณ„ํš์ด ์žˆ์Šต๋‹ˆ๊นŒ? (์˜ˆ: ๋ณ€๊ฒฝ, ๋ณ€๊ฒฝ b, ๊ณตํ†ต ์กฐ์ƒ)

๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์€ ์—†์—ˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๐Ÿ˜‰

์ถฉ๋ถ„ํžˆ ์ฐฌ์„ฑํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋‹ค๋ฅธ ํŽธ์ง‘๊ธฐ/IDE( cough* memory-hog Webstorm *cough )๋กœ ๋Œ์•„๊ฐ€์•ผ ํ•˜๋Š” ์ตœ๊ณ ์˜ ์‹œ๋‚˜๋ฆฌ์˜ค์ž…๋‹ˆ๋‹ค. :)

๊ฐ€๋Šฅํ•˜๋‹ค๋ฉด ์ด๊ฒƒ์€ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์ด์œ ๋กœ ์ธํ•ด ์‹ ์˜ ์„ ๋ฌผ์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

  1. Meld๋Š” ๊ธฐ๋Šฅ์ ์ด์ง€๋งŒ ๊ตฌ์„ฑ ๊ฐ€๋Šฅํ•œ ํ‚ค ๋ฐ”์ธ๋”ฉ ๋ฐ ์ƒ‰์ƒ ๊ฐ•์กฐ ํ‘œ์‹œ์™€ ๊ด€๋ จํ•˜์—ฌ ๊ธฐ๋Šฅ์ด ์‹ฌ๊ฐํ•˜๊ฒŒ ๋ถ€์กฑํ•˜๋ฉฐ SSD์— ์„ค์น˜๋œ ๊ฒฝ์šฐ์—๋„ Windows ์ปดํ“จํ„ฐ์—์„œ ์‹œ์ž‘ํ•˜๋Š” ๊ฒƒ์ด _์ •๋ง_ ๋Š๋ฆฝ๋‹ˆ๋‹ค.
  2. ๋ณ‘ํ•ฉ ํŽธ์ง‘๊ธฐ๋„ ๋‚ด ๊ธฐ๋ณธ ํ…์ŠคํŠธ ํŽธ์ง‘๊ธฐ์™€ ๋™์ผํ•œ .editorconfig/settings๋ฅผ ํ—ˆ์šฉํ•˜๊ณ  vscode๊ฐ€ ๊ทธ ๊ฐ„๊ฒฉ์„ ์ฑ„์šฐ๋ฉด ๊ต‰์žฅํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.
  3. ๋” ์ž‘์€ ์ˆ˜์ค€์—์„œ ํŽธ์ง‘๊ธฐ ํ…Œ๋งˆ์™€ ์ธํ„ฐํŽ˜์ด์Šค์— ๋Œ€ํ•œ ์นœ์ˆ™ํ•จ๋„ ํ”Œ๋Ÿฌ์Šค์ž…๋‹ˆ๋‹ค. ๋•Œ๋กœ๋Š” ์ € ๋˜๋Š” ์ œ ํŒ€์ด ๊ตฌ๋ฌธ ๊ฐ•์กฐ ํ‘œ์‹œ๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋ณ‘ํ•ฉํ•˜๋Š” ๋™์•ˆ ์‹ค์ˆ˜๋ฅผ ํ•˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์ž‘์ง€๋งŒ ํ”„๋กœ๋•์…˜ ์‹œ์Šคํ…œ์—์„œ ํฐ ๋ฒ„๊ทธ๋ฅผ ์ผ์œผ์ผฐ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ๋Ÿฌํ•œ ์‹ค์ˆ˜ ์ค‘ ์ผ๋ถ€๋Š” ๋ฐœ์ƒํ•˜๊ธฐ ์ „๊นŒ์ง€๋Š” ์ง์ž‘์กฐ์ฐจ ํ•˜๊ธฐ ํž˜๋“  ๊ฒฝ์šฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. _mergetools์—๋„ ๋น„์Šทํ•œ ๋ฌธ์ œ๊ฐ€ ํ•ญ์ƒ ์žˆ์„ ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค_. ํ•˜์ง€๋งŒ ๊ธ€์„ ์“ฐ๋Š” ๋™์ผํ•œ ํ™˜๊ฒฝ์—์„œ ๋ณ‘ํ•ฉํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ๋ฌธ์ œ๊ฐ€ ์ค„์–ด๋“ค ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋‚ด๊ฐ€ ๋งํ–ˆ๋“ฏ์ด, meld๋Š” _ok_์ด์ง€๋งŒ vscode๊ฐ€ ์–ธ์  ๊ฐ€ ๊ทธ ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ ์‚ฌ์šฉ๋œ๋‹ค๋ฉด ์ •๋ง ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

Visual Studio๋Š” ํ•ญ์ƒ ๋‚ด๊ฐ€ ์„ ํƒํ•œ ์ฝ”๋“œ ๋ณ‘ํ•ฉ๊ธฐ์˜€์Šต๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์„ ๋ณด๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค!

๋‹ค๋ฅธ git mergetool์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ๋ฌธ์ œ๋Š” ์—†์ง€๋งŒ ์ •๋ง ๋นจ๋ฆฌ ์ž์ฒด ๋ณ‘ํ•ฉ UI๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์„ ๋ณด๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค!!

๐Ÿ˜ ๋จธ.

๋ฌด๊ฑฐ์šด IDE์—์„œ ์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ์„ ๊ธฐ๋Œ€ํ•ฉ๋‹ˆ๋‹ค. vscode์˜ ๊ฒฝ๋Ÿ‰ ํŽธ์ง‘๊ธฐ ํด๋ž˜์Šค(์—ฌ๊ธฐ์„œ ๋‚˜๋Š” atom, sublime ๋“ฑ์„ ๊ณ ๋ คํ•จ)์—์„œ๋Š” ๊ทธ๋ ‡์ง€ ์•Š์Šต๋‹ˆ๋‹ค. git ๊ด€๋ จ ํ™œ๋™์˜ ๊ฒฝ์šฐ ์ถฉ๋Œ ํ•ด๊ฒฐ์„ ์œ„ํ•ด ํ„ฐ๋ฏธ๋„๊ณผ vim์„ ์„ ํ˜ธํ•ฉ๋‹ˆ๋‹ค. GUI ๊ตฐ์ค‘์—๋Š” ์ด๋ฏธ meld, diffmerge, kaleidoscope ๋“ฑ๊ณผ ๊ฐ™์€ ํ›Œ๋ฅญํ•œ ์œ ๋‹ˆ ํƒœ์Šค์ปค๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

@kumarharsh ๋Š” ์ฆ‰๊ฐ์ ์ธ ํ”ผ๋“œ๋ฐฑ(์˜ˆ: linting)์— ๋Œ€ํ•œ ์ข‹์€ ์ ์ž…๋‹ˆ๋‹ค. ์œ„์˜ vim ๊ฒฝ๋กœ๋กœ ์ด๋™ํ•˜๋ฉด git์˜ ๊ธฐ๋ณธ ์™ธ๋ถ€ ํŽธ์ง‘๊ธฐ๋ฅผ vscode๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ๋ณ„ linting/ ๊ตฌ๋ฌธ/๊ธฐํƒ€ ๊ทœ์น™.

+1

์ด ๊ธฐ๋Šฅ์„ vscode์˜ ํ™•์žฅ์œผ๋กœ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ๋˜๋Š” ํ™•์žฅ ๊ถŒ์žฅ ์‚ฌํ•ญ์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.

๋‚ด๊ฐ€ ๋ณผ ์ˆ˜ ์žˆ๋“ฏ์ด ๋‚˜๋Š” ๊ทธ๋ ‡๊ฒŒ ์ƒ๊ฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ™•์žฅ์€ UI ๊ธฐ๋Šฅ์„ ๋งŒ๋“ค ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

Enviado do meu telefone Windows 10

De: ํƒฑํฌ ์ˆ˜์ด
Enviado:quarta-feira , 2016๋…„ 10์›” 7์ผ 10:41
Para: Microsoft/vscode
Cc:Herbert Pimentel; ๋…ผํ‰
Assunto: Re: [Microsoft/vscode] VS Code๋ฅผ git mergetool๋กœ ์‚ฌ์šฉ(#5770)

์ด ๊ธฐ๋Šฅ์„ vscode์˜ ํ™•์žฅ์œผ๋กœ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ๋˜๋Š” ํ™•์žฅ ๊ถŒ์žฅ ์‚ฌํ•ญ์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.
โ€”
๋‹น์‹ ์ด ๋Œ“๊ธ€์„ ๋‹ฌ์•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด๊ฒƒ์„ ๋ฐ›๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
์ด ์ด๋ฉ”์ผ์— ์ง์ ‘ ๋‹ต์žฅํ•˜๊ฑฐ๋‚˜ GitHub์—์„œ ๋ณด๊ฑฐ๋‚˜ ์Šค๋ ˆ๋“œ๋ฅผ ์Œ์†Œ๊ฑฐํ•˜์„ธ์š”.

ํ”Œ๋Ÿฌ๊ทธ์ธ์€ UI ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Git History๋ฅผ ๋ณด์‹ญ์‹œ์˜ค. ๋ณ‘ํ•ฉ ๋„๊ตฌ๋กœ "์ž ์žฌ์ ์œผ๋กœ" ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋Š” webview๋ฅผ ๋ Œ๋”๋งํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ํ”Œ๋Ÿฌ๊ทธ์ธ์ด vscode ์ž์ฒด์˜ ์–ด๋Š ์ •๋„ ์ง€์› ์—†์ด๋Š” ์ˆ˜ํ–‰ํ•˜๊ธฐ๊ฐ€ ๋งค์šฐ ์–ด๋ ค์šธ ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

๋งŒํ™”๊ฒฝ, ํ˜ผํ•ฉ ๋“ฑ ๋„๊ตฌ์˜ ์ฃผ์š” ๋ฌธ์ œ๋Š” ๋งค์šฐ ์ผ๋ฐ˜์ ์ธ ์‚ฌ์šฉ ์‚ฌ๋ก€์— ์žˆ์Šต๋‹ˆ๋‹ค.
๋ณ‘ํ•ฉํ•˜๋Š” ๋™์•ˆ ๊ฒฐ๊ณผ๋ฅผ ํŽธ์ง‘ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์™ผ์ชฝ์—์„œ ์ด ์ค„์„ ์ˆ˜๋ฝํ•˜๊ณ  ์˜ค๋ฅธ์ชฝ์—์„œ ํ•ด๋‹น ์ค„์„ ์ˆ˜๋ฝํ•˜๊ณ  ์ด ์ž‘์€ ์ˆ˜์ •์„ ์ถ”๊ฐ€ํ•˜์—ฌ ๋‘˜ ๋‹ค ํ•จ๊ป˜ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.
์บกํ‹ด ๋ป”ํ•œ ๋ณด๊ณ : ๋ณ‘ํ•ฉ ๋„๊ตฌ๋Š” ๋ณ‘ํ•ฉ์— ์ข‹์Šต๋‹ˆ๋‹ค :D
๊ทธ๋Ÿฌ๋‚˜ ie meld๋ฅผ ์‚ฌ์šฉํ•œ ํŽธ์ง‘์€ ํŠนํžˆ vscode์™€ ๊ฐ™์€ ํŽธ๋ฆฌํ•œ ๋„๊ตฌ์— ์ต์ˆ™ํ•ด์ง€๋ฉด ์™„์ „ํžˆ ๊ณ ํ†ต์Šค๋Ÿฝ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ๋Œ€๋ถ€๋ถ„์˜ ๊ฐœ๋ฐœ์ž๊ฐ€ ํŽธ์ง‘๊ธฐ์— ํ†ตํ•ฉ๋œ ๋ณ‘ํ•ฉ ๋„๊ตฌ๋ฅผ ์›ํ•˜๋Š” ์ด์œ ์ž…๋‹ˆ๋‹ค.

P4merge์˜ 4-pane 3-way ๋ณ‘ํ•ฉ UI๋Š” ํ›Œ๋ฅญํ•ฉ๋‹ˆ๋‹ค.
http://naleid.com/blog/2013/10/29/how-to-use-p4merge-as-a-3-way-merge-tool-with-git-and-tower-dot-app

diff(์—๋””ํ„ฐ์—์„œ ๋งค์šฐ ์œ ์šฉํ•œ ๊ธฐ๋Šฅ)๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์ง€๋งŒ ๋ณ‘ํ•ฉํ•  ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์€ ๋งค์šฐ ์‹ค๋ง์Šค๋Ÿฝ์Šต๋‹ˆ๋‹ค.

VS Code ํ™•์žฅ์€ ์ถฉ๋Œ ๋ณ‘ํ•ฉ์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

+1

์ตœ์‹  VS ์ฝ”๋“œ์—์„œ Git ๋ณ‘๋ ฌ ์ถฉ๋Œ ํ•ด๊ฒฐ ํ”„๋กœ๊ทธ๋žจ์ด ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋ฒ„์ „ 1.10.2
์ปค๋ฐ‹ 8076a19fdcab7e1fc1707952d652f0bb6c6db331
๋‚ ์งœ 2017-03-08T14:02:52.799Z
์‰˜ 1.4.6
๋ Œ๋”๋Ÿฌ 53.0.2785.143
๋…ธ๋“œ 6.5.0

๋‹ค๋ฅธ ํŽธ์ง‘๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ๋‚ด ์ฝ”๋“œ ํŽธ์ง‘๊ธฐ(vscode)๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋™์•ˆ ๋ณ‘ํ•ฉํ•˜๋Š” ๋™์•ˆ ์ฝ”๋“œ๋ฅผ ํŽธ์ง‘ํ•  ์ˆ˜ ์žˆ๊ธฐ๋ฅผ ์ •๋ง๋กœ ์›ํ•ฉ๋‹ˆ๋‹ค.

์• ์ž์ผ ๊ฐœ๋ฐœ ํ”„๋กœ์ ํŠธ์—์„œ ์ž‘์—…ํ•  ๋•Œ VSCode๋กœ ์™„์ „ํžˆ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋Š” "ํ•„์ˆ˜" ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. ํ†ตํ•ฉ ๋ณ‘ํ•ฉ ๋„๊ตฌ๋Š” git ๊ธฐ๋Šฅ์ด ๋ถˆ์™„์ „ํ•˜๋‹ค๋Š” ์ ์„ ์ œ์™ธํ•˜๋ฉด ์—„์ฒญ๋‚œ ์‹œ๊ฐ„ ์ ˆ์•ฝ ํšจ๊ณผ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋Š” ์šฐ๋ฆฌ๊ฐ€ ์ด๊ฒƒ์„ ๊ณง ๊ฐ€์งˆ ์ˆ˜ ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

+1

๋ณ‘ํ•ฉ ๋„๊ตฌ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค

์ง€๊ธˆ์€ "๋” ๋‚˜์€ ๋ณ‘ํ•ฉ" ํ™•์žฅ์„ ์ถ”์ฒœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค...

์˜ˆ, ๊ทธ๊ฒƒ์ด ๋‚ด๊ฐ€ ์ง€๊ธˆ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ์ด๊ณ  ๊ฝค ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค!

๋”ฐ๋ผ์„œ์ด ๋ฌธ์ œ๋ฅผ ๋‹ซ์„ ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๊นŒ?
2017๋…„ 4์›” 30์ผ ์ผ์š”์ผ ์˜คํ›„ 4์‹œ 58๋ถ„, Ali Robertson [email protected]
์ผ๋‹ค:

์ง€๊ธˆ์€ "๋” ๋‚˜์€ ๋ณ‘ํ•ฉ" ํ™•์žฅ์„ ์ถ”์ฒœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค...

โ€”
๋‹น์‹ ์ด ๋Œ“๊ธ€์„ ๋‹ฌ์•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด๊ฒƒ์„ ๋ฐ›๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
์ด ์ด๋ฉ”์ผ์— ์ง์ ‘ ๋‹ต์žฅํ•˜๊ณ  GitHub์—์„œ ํ™•์ธํ•˜์„ธ์š”.
https://github.com/Microsoft/vscode/issues/5770#issuecomment-298222866 ,
๋˜๋Š” ์Šค๋ ˆ๋“œ ์Œ์†Œ๊ฑฐ
https://github.com/notifications/unsubscribe-auth/AAU8Q2JVio1PlIvEb8S1zg2cf5tzxxciks5r1Fs9gaJpZM4IPCMA
.

>

์•„์ดํฐ์—์„œ ๋ณด๋‚ธ

@alirobe ๋” ๋‚˜์€ ๋ณ‘ํ•ฉ์—๋Š” meld์™€ ๊ฐ™์€ ์„ธ ๊ฐ€์ง€ ๋ฒ„์ „ ์ฐฝ์ด ์—†์Šต๋‹ˆ๋‹ค.
vsc์—๋Š” 3๊ฐœ์˜ ์ฐฝ์ด ์žˆ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด์ง€๋งŒ ์•„๋ฌด๋„ ๋ณ‘ํ•ฉ ๋„๊ตฌ๋ฅผ ๊ตฌํ˜„ํ•˜์ง€ ์•Š์Šต๋‹ˆ๊นŒ?

์•ˆ๋…•ํ•˜์„ธ์š” @nchammas , @joaomoreno ๋ฐ ๊ธฐํƒ€ ๊ด€์‹ฌ ์žˆ๋Š” ๋ชจ๋“  ๋ถ„๋“ค,
์˜ค๋Š˜ ์ €๋Š” VS Code๋ฅผ git mergetool ๋กœ ์„ค์ •ํ•˜๊ณ  StackOverflow: Visual Studio Code๋ฅผ Git MergeTool์˜ ๊ธฐ๋ณธ ํŽธ์ง‘๊ธฐ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์„ค๋ช…ํ–ˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ์€ ์†๋„ ๋ฒ„์ „์ž…๋‹ˆ๋‹ค.
.gitconfig ๋ฅผ ์ง์ ‘ ํŽธ์ง‘ํ•˜์—ฌ ๋ถ™์—ฌ๋„ฃ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

[merge]
    tool = vscode
[mergetool "vscode"]
    cmd = code --wait $MERGED

๋˜๋Š” ๋ช…๋ น์ค„์—์„œ ๋‹ค์Œ์„ ์ž…๋ ฅํ•˜์‹ญ์‹œ์˜ค.

  1. git config --global merge.tool vscode
  2. git config --global mergetool.vscode.cmd "code --wait $MERGED"

๊ทธ๋Ÿฐ ๋‹ค์Œ ๋ณ‘ํ•ฉ ์ถฉ๋Œ์ด ์žˆ๋Š” git ๋””๋ ‰ํ† ๋ฆฌ ๋‚ด์—์„œ git mergetool ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ta-da ๐Ÿ˜„!

ํ˜„์žฌ ๋ณ€๊ฒฝ ์‚ฌํ•ญ ์ˆ˜๋ฝ | ๋‘ ๋ณ€๊ฒฝ ์‚ฌํ•ญ ๋ชจ๋‘ ์ˆ˜๋ฝ | ํ•ด๋‹น ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์žˆ๋Š” ์ง€์ ์—์„œ

VS Code๋ฅผ ๋‹ซ๊ธฐ ์ „์— ํŒŒ์ผ์„ ์ €์žฅํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค !

์ฝ”๋“œ ๋ Œ์ฆˆ "ํ˜„์žฌ ๋ณ€๊ฒฝ ์‚ฌํ•ญ ์ˆ˜๋ฝ | ์ˆ˜์‹  ๋ณ€๊ฒฝ ์‚ฌํ•ญ ์ˆ˜๋ฝ | ๋‘ ๋ณ€๊ฒฝ ์‚ฌํ•ญ ๋ชจ๋‘ ์ˆ˜๋ฝ | ๋ณ€๊ฒฝ ์‚ฌํ•ญ ๋น„๊ต"๊ฐ€ ์žˆ๊ณ  "๋ณ€๊ฒฝ ์‚ฌํ•ญ ๋น„๊ต"๋ฅผ ํด๋ฆญํ•  ๋•Œ ๋‚˜๋ž€ํžˆ ํ‘œ์‹œ๋˜๋Š” diff๊ฐ€ ๋งˆ์Œ์— ๋“ค์ง€๋งŒ ์•„๋ฌด ๊ฒƒ๋„ ํŽธ์ง‘ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ธ๋ผ์ธ ๋˜๋Š” Visual Studio์˜ ๋ณ‘ํ•ฉ ๋„๊ตฌ ๋˜๋Š” Meld, Winmerge ๋˜๋Š” Beyond Compare์™€ ๊ฐ™์€ ๋‹ค๋ฅธ ๋„๊ตฌ์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋Š” ์„ธ ๋ฒˆ์งธ ๊ฒฐํ•ฉ ํŒจ๋„๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋” ๋งŽ์€ ์‚ฌ์šฉ์ž ์ง€์ • ๋ณ‘ํ•ฉ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋‚˜๋ž€ํžˆ ๋น„๊ต์—์„œ ์„ธ ๋ฒˆ์งธ ํŒจ๋„์„ ๋ณด๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

@jaxspades , FWIW, ์‚ฌ์šฉ์ž ์ง€์ •์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•  ๋•Œ ์ˆ˜ํ–‰ํ•˜๋Š” ์ž‘์—…์€ ๋ชจ๋‘ ์ˆ˜๋ฝํ•œ ๋‹ค์Œ ํŽธ์ง‘ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ง€๊ธˆ๊นŒ์ง€๋Š” ์ถฉ๋ถ„ํžˆ ์ž˜ ์ž‘๋™ํ–ˆ์ง€๋งŒ ์•„์ง ์ด๊ฒƒ์„ ์‚ฌ์šฉํ•˜์—ฌ ํŠนํžˆ ํ„ธ์ด ๋งŽ์€ ๋ณ‘ํ•ฉ์ด ์—†์—ˆ์Šต๋‹ˆ๋‹ค.

"์‹ค์ œ" Visual Studio๋Š” FWIW๋ผ๋Š” ํ›Œ๋ฅญํ•œ ๋ณ‘ํ•ฉ ๋„๊ตฌ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. VS Code์—์„œ ํ•ด๋‹น ๊ธฐ๋Šฅ์„ ๋ณด๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

@zneak ์— +1

ํ˜„์žฌ ์ด ๋ธ”๋ก ๋˜๋Š” ํ•ด๋‹น ๋ธ”๋ก์€ ๋”์ฐํ•˜๊ณ  ๋งŽ์€ ์‹œ๊ฐ„, ๋ฆฌํŒฉํ† ๋ง ๋ฐ ์˜ค๋ฅ˜๋ฅผ ๋‚ญ๋น„ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. VS์ฒ˜๋Ÿผ ํ•œ ์ค„์”ฉ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ๊ฐ–๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

ํŒŒ์ผ ๋ณ€๊ฒฝ์— ๋Œ€ํ•œ ์˜คํƒ์€ ๋ถ„๊ธฐ ์ฃผ๋ณ€์„ ๋ฐ”์šด์Šคํ•  ๋•Œ๋„ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.

๋‚˜๋Š” ๋„๊ตฌ๋ฅผ ์‚ฌ๋ž‘ํ•ฉ๋‹ˆ๋‹ค. ์ด ์˜์—ญ์ด ๋ถ€์กฑํ•ฉ๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š”
VScode์—์„œ ๊ธฐ๋ณธ ๋ณ‘ํ•ฉ ๋„๊ตฌ์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค.
์šฐ๋ฆฌ๋Š” ๋ฉ‹์ง„ diff-tool์„ ๊ฐ€์ง€๊ณ  ์žˆ๊ณ  vsc๋Š” ์„ธ ๋ถ€๋ถ„์œผ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ.. ๊ทธ๊ฒƒ์„ ๊ตฌํ˜„ํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.
์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ ex๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ UI๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ui์—์„œ ์‚ฌ์šฉ์ž ์ •์˜ ๋ฒ„ํŠผ์„ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๋„์™€์ฃผ์„ธ์š”.

Windows ๋ฐ Mac์—์„œ kdiff3์„ ๊ธฐ๋ณธ git mergetool ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. 4๊ฐœ ๋ณด๊ธฐ 3๋ฐฉํ–ฅ ๋ณ‘ํ•ฉ, ๋งค์šฐ ์šฐ์ˆ˜ํ•œ ์ž๋™ ํ•ด์ƒ๋„, ๋ฌด๋ฃŒ ๋ฐ ํฌ๋กœ์Šค ํ”Œ๋žซํผ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

5์›”์—๋Š” ๋” ๋‚˜์€ ๋ณ‘ํ•ฉ ๊ธฐ๋Šฅ์ด ํ†ตํ•ฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋ณ‘ํ•ฉ UI๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค.
https://code.visualstudio.com/updates/v1_13

Ericop์€ ์œ„ ์˜ mergetool๋กœ '๋” ๋‚˜์€ ๋ณ‘ํ•ฉ' ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก vscode๋ฅผ ๊ตฌ์„ฑ ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ง€์นจ์„ ์ œ๊ณตํ–ˆ์Šต๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ์ด ๋ฌธ์ œ๋Š” ์ข…๋ฃŒ๋˜๊ณ  ํ•ด๊ฒฐ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

@alirobe ๋‚˜๋Š” ์ด ๋ณ‘ํ•ฉ์ด ์ข‹์ง€ ์•Š๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์–ด์ฉŒ๋ฉด ๋ณ‘ํ•ฉ์ฒ˜๋Ÿผ ๋ณด์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์„ธ ๊ฐœ์˜ ํŽธ์ง‘๊ธฐ๊ฐ€ LOCAL, BASE, REMOTE๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

@zjjott ์ดํ•ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ์กด ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ํŠน์ • ๊ฐœ์„ ์„ ์š”์ฒญํ•˜๋Š” ์ƒˆ ๋ฌธ์ œ๋ฅผ ์—ด๊ณ  ์—ฌ๊ธฐ์—์„œ ์ฐธ์กฐํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ๋‚ด๊ฐ€ ์‚ฌ์šฉํ•œ ์ตœ๊ณ ์˜ ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. https://marketplace.visualstudio.com/items?itemName=letmaik.git-tree-compare#review -details

@joaomoreno ๊ท€ํ•˜์˜ ์˜๊ฒฌ์— ๋”ฐ๋ผ ํ–ฅํ›„ 3way ๋ณ‘ํ•ฉ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

@zjjott kdiff3์€ ์ด ์ž‘์—…์„ ์ •๋ง ์ž˜ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค(๋กœ์ปฌ, ๊ธฐ๋ณธ, ์›๊ฒฉ ๋ฐ ๊ฒฐ๊ณผ ๋ณด๊ธฐ). ์ด ๊ธฐ์กด ํฌ๋กœ์Šค ํ”Œ๋žซํผ ๋„๊ตฌ๊ฐ€ ์ด๋ฏธ ํ›Œ๋ฅญํ•  ๋•Œ ์™œ ์‚ฌ๋žŒ๋“ค์ด vscode์—์„œ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ์„ ํ•„์š”๋กœ/์›ํ•˜๋Š”์ง€ ์ž˜ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค.

@RoyTinker ์™œ๋ƒํ•˜๋ฉด ์ €๋Š” ๋ณดํ†ต '๋ณ‘ํ•ฉ'์„ ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. (์ผ๋ถ€ ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•  ๋•Œ) ๋ฌด์–ธ๊ฐ€๋ฅผ ํŽธ์ง‘ํ•ด์•ผ ํ•˜๊ณ  kdiff3์ด ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์ตœ๊ณ ์˜ ํŽธ์ง‘์ž๋ฅผ ์›ํ•˜๋Š” ๊ฒƒ์„ ํŽธ์ง‘ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(๊ดœ์ฐฎ์ง€๋งŒ vscode๊ฐ€ ํ›จ์”ฌ ๋‚ซ์Šต๋‹ˆ๋‹ค)

@eamodio ์™€ ์ด์•ผ๊ธฐํ•˜๊ณ  VSCode์šฉ GitLens ์—์„œ ๊ทธ์˜ ๋ฉ‹์ง„ ์ž‘์—…์„ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ์€ ์–ด๋–ป์Šต๋‹ˆ๊นŒ?
ํŠนํžˆ ์ถฉ๋Œ ํŒŒ์ผ์„ ํƒ์ƒ‰ํ•  ๋•Œ, ํ•œ ๋ณด๊ธฐ์—์„œ ๋‘ ์ŠคํŠธ๋ฆผ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์žˆ๊ณ  ํ˜„์žฌ ๋ณ€๊ฒฝ ์‚ฌํ•ญ, ์ˆ˜์‹  ๋ณ€๊ฒฝ ์‚ฌํ•ญ, ๋‘ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋ชจ๋‘ ์ˆ˜๋ฝํ•˜๊ฑฐ๋‚˜ ํ•œ ๋ฒˆ์— ํŽธ์ง‘ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ ๋งค์šฐ ๋งŒ์กฑํ•ฉ๋‹ˆ๋‹ค.
์ด์ƒ์— ๋งค์šฐ ๊ฐ€๊น์Šต๋‹ˆ๋‹ค. ๋•Œ๋•Œ๋กœ Windows์—์„œ ์ค„ ๋ ๋ถ€๋ถ„์— ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์ „์ฒด Visual Studio๋งŒ ๊ตฌ์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๋‚ด๊ฐ€ ๊ฐ€์ง„ IDE์˜ ์ตœ๊ณ ์˜ git GUI ๊ฒฝํ—˜.

@m-wilczynski ์นœ์ ˆํ•œ ๋ง์— ์ •๋ง ๊ฐ์‚ฌํ•˜์ง€๋งŒ -- ๋ณ‘ํ•ฉ ์ถฉ๋Œ ์ง€์›์€ GitLens์˜ ์ผ๋ถ€๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค -- vscode ์ž์ฒด์— ์ง์ ‘ ๋‚ด์žฅ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค(์›๋ž˜ ํ•ต์‹ฌ์œผ๋กœ ๊ฐ€์ ธ์˜จ ๋˜ ๋‹ค๋ฅธ ํ™•์žฅ์ด์—ˆ์Šต๋‹ˆ๋‹ค)

@eamodio - ์ž˜ ๋ชฐ๋ž์Šต๋‹ˆ๋‹ค. ๐Ÿ˜„ ์‚ฌ์‹ค์€ ๋ณ€ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ €์™€ VSCode @๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋Œ€๋ถ€๋ถ„์˜ ๋™๋ฃŒ๋Š” ์ œ ์ถ”์ฒœ์œผ๋กœ ์ธํ•ด VS Code๊ฐ€ GitLens ์—†์ด git์œผ๋กœ ์ž‘์—…ํ•˜๋Š” ๋ฐ ์“ธ๋ชจ๊ฐ€ ์—†๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
GitLens๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ด ๋ณ‘ํ•ฉ์—์„œ ์ง„ํ–‰ ์ค‘์ธ ์ž‘์—…์„ ๋ช…ํ™•ํ•˜๊ฒŒ ๋ณด๊ธฐ ์œ„ํ•ด atm(๋Œ€๋ถ€๋ถ„ TypeScript ๋ฐ JavaScript์— ์‚ฌ์šฉ)์œผ๋กœ ์ฝ”๋”ฉํ•˜์ง€ ์•Š๋”๋ผ๋„ VSCode๋ฅผ ์—ด๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.
๊ทธ๊ฒƒ์€ ๋ชจ๋‘ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์— ๊ด€ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
VSCode์— ๋ชจ๋“  ๊ฒƒ์ด ํฌํ•จ๋˜์–ด ์žˆ๊ณ  ์ ์ ˆํ•˜๊ฒŒ ์‹œ๊ฐํ™”ํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๋‚ด ๋ฉ‹์ง„ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์— ๋Œ€ํ•œ ์ฑ…์ž„์€ ๋ฐ”๋กœ ๋‹น์‹ ์ž…๋‹ˆ๋‹ค. ๐Ÿ˜‰

@m-wilczynski ๋งค์šฐ ๊ฒธ์†ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค โ€” ์นœ์ ˆํ•œ ๋ง์”€ ์ •๋ง ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

์ด์ œ 2๋…„์ด ์ง€๋‚ฌ์Šต๋‹ˆ๋‹ค... ๊ทธ๋ฆฌ๊ณ  ์ด๊ฒƒ์€ ์•„์ง ํ˜„์‹œ์ ์—์„œ ๊ฐ€์žฅ ๋ช…๋ฐฑํ•œ ๋ˆ„๋ฝ ๊ธฐ๋Šฅ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. VSCode๋ฅผ ๋‚ด mergetool๋กœ ๋งŒ๋“ค๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

@tracker1 ์ด ๋ฌธ์ œ๋Š” ๊ธฐ์ˆ ์ ์œผ๋กœ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค: https://github.com/Microsoft/vscode/issues/5770#issuecomment -308533904. ์™œ ์•„์ง๋„ ๋‹ซํžˆ์ง€ ์•Š์•˜๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ๋„ค์š”.

@joaomoreno ์ด ๋ฌธ์ œ๋ฅผ ์ข…๋ฃŒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๋‚˜๋Š” ๊ทธ๊ฒƒ์ด ์—ฌ์ „ํžˆ ์—ด๋ ค ์žˆ๋Š” ์ด์œ (๋˜ํ•œ ๋‚ด๊ฐ€ ์—ฌ์ „ํžˆ ๊ทธ๊ฒƒ์„ ๋ณด๊ณ  ์žˆ๋Š” ์ด์œ )๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ๋žŒ๋“ค์ด vscode์—์„œ ๋‚˜๋ž€ํžˆ 3๋ฐฉํ–ฅ ๋ณ‘ํ•ฉ ๊ธฐ๋Šฅ์„ ์ฐพ๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ํ˜„์žฌ meld๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค( ์˜ˆ์ œ ์Šคํฌ๋ฆฐ์ƒท ).

์˜ˆ, git์— Conflict(rename/rename)๊ฐ€ ์žˆ๊ณ  $MERGED ํŒŒ์ผ์ด ๋น„์–ด ์žˆ๊ณ  diff $LOCAL $REMOTE ๋ช…๋ น์„ ๋งŒ๋“œ๋Š” ๋ฐ ํ•„์š”ํ•œ ํŽธ์ง‘์ด ํ•„์š”ํ•œ ์‹œ๋‚˜๋ฆฌ์˜ค๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ์— ๋Œ€ํ•ด ์•„๋ž˜์—์„œ ์ด cmd๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

code --wait --diff $REMOTE $LOCAL | cp $LOCAL $MERGED

๊ทธ๋Ÿฌ๋‚˜ ๊ทธ๊ฒƒ๋“ค์€ ๋ณ„๋„์˜ ๋ฌธ์ œ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํŠน์ • ๋ฌธ์ œ์˜ ์ฃผ์š” ์ž‘์—…์€ IMO์ž…๋‹ˆ๋‹ค.

#5770์— ํ‘œ์‹œ๋œ ๋‚ด์šฉ์€ ์ž‘์€ ๋ณ€๊ฒฝ์— ๋Œ€ํ•ด์„œ๋Š” ์ž˜ ์ž‘๋™ํ•˜์ง€๋งŒ ํฐ ๋ณ€๊ฒฝ์— ๋Œ€ํ•ด์„œ๋Š” ์ข‹์ง€ ์•Š์€ ๊ฒฝํ—˜์ด๋ฉฐ ์ด๋ฅผ ์ œ๋Œ€๋กœ ์ˆ˜ํ–‰ํ•˜๋ ค๋ฉด 3 ๋˜๋Š” 4๊ฐœ์˜ ์ฐฝ ๊ฒฝํ—˜์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

ํ˜„์žฌ Visual Studio(์ ์ ˆํ•œ)๋ฅผ MERGE/DIFF ๋„๊ตฌ๋กœ ์‚ฌ์šฉํ•˜๊ณ  Visual Studio(์ ์ ˆํ•œ)๊ฐ€ ์„ค์น˜๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ MELD๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ๋“ค๋กœ ์ž‘์—…์ด ์™„๋ฃŒ๋˜์ง€๋งŒ ์ฒซ ๋ฒˆ์งธ ๊ถ์ „์—์„œ ์ž‘์„ฑํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ ๊ฒƒ๊ณผ ๋™์ผํ•œ ๋„๊ตฌ๋กœ ์ฝ”๋“œ๋ฅผ ํŽธ์ง‘ํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋‹ซ์œผ๋ ค๋Š” ๊ฒฝ์šฐ ๋ณ‘ํ•ฉ ๋„๊ตฌ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋‚˜๋ž€ํžˆ 3๋ฐฉํ–ฅ diffing ๊ธฐ๋Šฅ์„ ์บก์ฒ˜ํ•˜๊ธฐ ์œ„ํ•ด ์ฆ‰์‹œ ๋ฌธ์ œ๊ฐ€ ์ƒ์„ฑ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ด์ œ vscode์—๋Š” ๋‘ ๊ฐœ ์ด์ƒ์˜ ์ฐฝ์„ ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ๋Š” ์˜ต์…˜์ด ์žˆ์Šต๋‹ˆ๋‹ค. (v1.24.0 ๊ธฐ์ค€). ๋‚˜๋Š” 3 way merge๋ฅผ ์‹œ๋„ํ•˜์ง€ ์•Š์•˜์ง€๋งŒ ์ง€๊ธˆ์€ ํ™•์‹คํžˆ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ํ™•์‹คํžˆ ์ด ๋†€๋ผ์šด ํŽธ์ง‘๊ธฐ์˜ ๊ฐ€์žฅ ํฐ ๋‹จ์ ์ž…๋‹ˆ๋‹ค.

3์ž ๋ณ‘ํ•ฉ์€ ํ•„์ˆ˜์ž…๋‹ˆ๋‹ค. git merge๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ํ˜„์žฌ ๋ฐฉ๋ฒ•์€ ์‚ฌ์šฉ ์‹œ ๋งค์šฐ ์กฐ์žกํ•ฉ๋‹ˆ๋‹ค.

3๋ฐฉํ–ฅ ๋ณ‘ํ•ฉ์„ ์ถ”๊ฐ€ํ•ด์ฃผ์„ธ์š”

@michaelKurowski ์˜ˆ ์ตœ๊ทผ์— ๋™๋ฃŒ๋“ค์ด VScode ๋ณ‘ํ•ฉ ๊ธฐ๋Šฅ์— ๋Œ€ํ•ด ๋ถˆํ‰ํ•˜๋Š” ๊ฒƒ์„ ๋“ค์—ˆ์ง€๋งŒ ์„ธ๋ถ€ ์‚ฌํ•ญ์— ๋Œ€ํ•ด์„œ๋Š” ์ž์„ธํžˆ ๋‹ค๋ฃจ์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๊ฐ„๋‹จํžˆ ๋งํ•ด์„œ ์ด ์ธก๋ฉด์„ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด vscode์— ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

3๋ฐฉํ–ฅ ๋ณ‘ํ•ฉ์„ ์ถ”๊ฐ€ํ•ด์ฃผ์„ธ์š”

์™„์ „ํžˆ ์ดํ•ดํ–ˆ๋Š”์ง€ ์ž˜ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ ์‚ฌ๋žŒ๋“ค์€ 3๋ฐฉํ–ฅ ๋ณ‘ํ•ฉ์„ ์š”์ฒญํ•˜๋Š” ๊ฒƒ ๊ฐ™์ง€๋งŒ ์ด ์Šคํฌ๋ฆฐ์ƒท๊ณผ ๊ฐ™์ด VSCode์— ์ด๋ฏธ 3๋ฐฉํ–ฅ ๋ณ‘ํ•ฉ์ด ์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

image

๊ทธ๋Ÿฌ๋‚˜ ๋‚ด๊ฐ€ ์•Œ๊ธฐ๋กœ๋Š” ๋ช…๋ น์ค„์—์„œ 3๋ฐฉํ–ฅ ๋ณ‘ํ•ฉ์„ ํ˜ธ์ถœํ•  ๋ฐฉ๋ฒ•์ด ์—†์Šต๋‹ˆ๋‹ค. ์ดˆ๊ธฐ ๊ฒŒ์‹œ์—์„œ ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด ์ด๊ฒƒ์€ ๊ธฐ๋ณธ ํŒŒ์ผ, ๋‘ ๊ฐœ์˜ ์„œ๋กœ ๋‹ค๋ฅธ ์ˆ˜์ • ๋ฒ„์ „, ์ตœ์ข… ๋ณ‘ํ•ฉ ๊ฒฐ๊ณผ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฒฝ๋กœ์˜ ๋„ค ๊ฐ€์ง€ ์ธ์ˆ˜๋ฅผ ๋ช…๋ น์ค„์— ์‚ฌ์šฉํ•˜์—ฌ ํ˜ธ์ถœํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.

์ œ ๊ฒฝ์šฐ์—๋Š” VSCode๋ฅผ Git์ด ์•„๋‹Œ Perforce์™€ ํ•จ๊ป˜ ๋ณ‘ํ•ฉ ๋„๊ตฌ๋กœ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์ง€๋งŒ VSCode๊ฐ€ ๋ช…๋ น์ค„์—์„œ ์ด 4๊ฐœ์˜ ํŒŒ์ผ ์ด๋ฆ„์„ ํ—ˆ์šฉํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๋ฉด ์‚ฌ์šฉ ์ค‘์ธ ์†Œ์Šค ์ œ์–ด ์†Œํ”„ํŠธ์›จ์–ด, ๋ณ‘ํ•ฉ ๊ฐœ๋…์€ ์ค‘์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋˜‘๊ฐ™๋‹ค.

์ด ๋ฌธ์ œ๊ฐ€ "๊ธฐ์กด 3๋ฐฉํ–ฅ ๋ณ‘ํ•ฉ ๊ธฐ๋Šฅ์„ ํ˜ธ์ถœํ•˜๊ธฐ ์œ„ํ•œ ๋ช…๋ น์ค„ ์˜ต์…˜ ์ถ”๊ฐ€"์™€ ๊ฐ™์€ ๊ฒƒ์œผ๋กœ ํ˜ธ์ถœ๋˜๊ฑฐ๋‚˜ ๋ช…๋ น์ค„ ์‚ฌ์šฉ์ด ๋ถ€์กฑํ•˜๋‹ค๋Š” ์  ์™ธ์— VSCode์˜ ํ˜„์žฌ ๋ณ‘ํ•ฉ ๊ตฌํ˜„์— ๋Œ€ํ•ด ๋‚ด๊ฐ€ ์˜คํ•ดํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ์ด ์žˆ์Šต๋‹ˆ๊นŒ? ์ž์‹ 3 ๋ฐฉํ–ฅ ๋ณ‘ํ•ฉ์„ ์œ„ํ•ด?

์™„์ „ํžˆ ์ดํ•ดํ–ˆ๋Š”์ง€ ์ž˜ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ ์‚ฌ๋žŒ๋“ค์€ 3๋ฐฉํ–ฅ ๋ณ‘ํ•ฉ์„ ์š”์ฒญํ•˜๋Š” ๊ฒƒ ๊ฐ™์ง€๋งŒ ์ด ์Šคํฌ๋ฆฐ์ƒท๊ณผ ๊ฐ™์ด VSCode์— ์ด๋ฏธ 3๋ฐฉํ–ฅ ๋ณ‘ํ•ฉ์ด ์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

image

๊ทธ๋Ÿฌ๋‚˜ ๋‚ด๊ฐ€ ์•Œ๊ธฐ๋กœ๋Š” ๋ช…๋ น์ค„์—์„œ 3๋ฐฉํ–ฅ ๋ณ‘ํ•ฉ์„ ํ˜ธ์ถœํ•  ๋ฐฉ๋ฒ•์ด ์—†์Šต๋‹ˆ๋‹ค. ์ดˆ๊ธฐ ๊ฒŒ์‹œ์—์„œ ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด ์ด๊ฒƒ์€ ๊ธฐ๋ณธ ํŒŒ์ผ, ๋‘ ๊ฐœ์˜ ์„œ๋กœ ๋‹ค๋ฅธ ์ˆ˜์ • ๋ฒ„์ „, ์ตœ์ข… ๋ณ‘ํ•ฉ ๊ฒฐ๊ณผ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฒฝ๋กœ์˜ ๋„ค ๊ฐ€์ง€ ์ธ์ˆ˜๋ฅผ ๋ช…๋ น์ค„์— ์‚ฌ์šฉํ•˜์—ฌ ํ˜ธ์ถœํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.

์ œ ๊ฒฝ์šฐ์—๋Š” VSCode๋ฅผ Git์ด ์•„๋‹Œ Perforce์™€ ํ•จ๊ป˜ ๋ณ‘ํ•ฉ ๋„๊ตฌ๋กœ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์ง€๋งŒ VSCode๊ฐ€ ๋ช…๋ น์ค„์—์„œ ์ด 4๊ฐœ์˜ ํŒŒ์ผ ์ด๋ฆ„์„ ํ—ˆ์šฉํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๋ฉด ์‚ฌ์šฉ ์ค‘์ธ ์†Œ์Šค ์ œ์–ด ์†Œํ”„ํŠธ์›จ์–ด, ๋ณ‘ํ•ฉ ๊ฐœ๋…์€ ์ค‘์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋˜‘๊ฐ™๋‹ค.

์ด ๋ฌธ์ œ๊ฐ€ "๊ธฐ์กด 3๋ฐฉํ–ฅ ๋ณ‘ํ•ฉ ๊ธฐ๋Šฅ์„ ํ˜ธ์ถœํ•˜๊ธฐ ์œ„ํ•œ ๋ช…๋ น์ค„ ์˜ต์…˜ ์ถ”๊ฐ€"์™€ ๊ฐ™์€ ๊ฒƒ์œผ๋กœ ํ˜ธ์ถœ๋˜๊ฑฐ๋‚˜ ๋ช…๋ น์ค„ ์‚ฌ์šฉ์ด ๋ถ€์กฑํ•˜๋‹ค๋Š” ์  ์™ธ์— VSCode์˜ ํ˜„์žฌ ๋ณ‘ํ•ฉ ๊ตฌํ˜„์— ๋Œ€ํ•ด ๋‚ด๊ฐ€ ์˜คํ•ดํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ์ด ์žˆ์Šต๋‹ˆ๊นŒ? ์ž์‹ 3 ๋ฐฉํ–ฅ ๋ณ‘ํ•ฉ์„ ์œ„ํ•ด?

๋‚˜๋Š” ๊ทธ๋“ค์ด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒƒ์„ ๋ณด๊ณ  ์‹ถ์–ดํ•œ๋‹ค๊ณ  ๋ฏฟ์Šต๋‹ˆ๋‹ค.
https://user-images.githubusercontent.com/1470309/32250860-c677e4ce-bec0-11e7-82b5-0196d981cc28.png

@michaelKurowski ์•Œ๊ฒ ์Šต๋‹ˆ๋‹ค . ์•„๋งˆ๋„ ๋‘ ๊ฐ€์ง€ ๋ณ„๊ฐœ์˜ ๋ฌธ์ œ๊ฐ€ ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

  • 3๋ฐฉํ–ฅ ๋ณ‘ํ•ฉ์˜ ์‹œ๊ฐํ™”. (ํ˜„์žฌ ๊ตฌํ˜„์€ ์ธ๋ผ์ธ์œผ๋กœ ๋ณ‘ํ•ฉ์„ ํ‘œ์‹œํ•˜์ง€๋งŒ ์ผ๋ถ€ ์‚ฌ๋žŒ๋“ค์€ 3์—ด ๋ณด๊ธฐ๋ฅผ ์š”๊ตฌํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค)
  • ๋ช…๋ น์ค„์—์„œ ํ˜ธ์ถœ๋˜๋Š” 3๋ฐฉํ–ฅ ๋ณ‘ํ•ฉ ๋„๊ตฌ๋กœ VSCode๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ. (ํ˜„์žฌ --diff file1 file2 ์™€ ์œ ์‚ฌํ•˜์ง€๋งŒ ๋ณ‘ํ•ฉ์„ ์ง€์›ํ•˜๋Š” ๋ช…๋ น์ค„ ์˜ต์…˜์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค(์˜ˆ: --merge basefile revision1file revision2file mergedfile ).

๋‚ด ์ธ์ƒ์€ ์›๋ณธ ํฌ์Šคํ„ฐ๊ฐ€ ํ›„์ž(ํ˜„์žฌ ์‹œ๊ฐํ™”๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌํ˜„ํ•˜๊ธฐ ์‰ฌ์šด ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ž„)์™€ ๋” ์œ ์‚ฌํ•œ ๊ฒƒ์„ ์š”๊ตฌํ•œ ๋ฐ˜๋ฉด ๋ณ‘ํ•ฉ์— ๋Œ€ํ•œ 3์—ด ์‹œ๊ฐํ™”์— ๋Œ€ํ•œ ์š”์ฒญ์€ ์กฐ๊ธˆ ๋” ๋ณต์žกํ•˜๊ณ  ๊ฐœ๋ฐฉํ˜• ์š”์ฒญ์ด๋ฉฐ ์ด ๋‘ ๊ฐ€์ง€ ๊ฐœ๋ณ„ ์š”์ฒญ ๊ฐ„์˜ ํ˜ผ๋™์œผ๋กœ ์ธํ•ด ์ด ๋ฌธ์ œ๊ฐ€ ๋ฌธ์ œ๊ฐ€ ๋˜๋Š” ๊ฒƒ์ผ๊นŒ์š”?

@uglycoyote & @michaelKurowski ์„ค๋ช…ํ•ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ 3์—ด diff ๋ณด๊ธฐ ์ „์šฉ์˜ ์ƒˆ ๋ฌธ์ œ/๊ธฐ๋Šฅ ์š”์ฒญ์„ ๋งŒ๋“ค์–ด์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์‹ญ๋‹ˆ๊นŒ?

@joaomoreno ๊ฐ€ @JeanPerriault ์˜ ์งˆ๋ฌธ๊ณผ ์ด ๋ฌธ์ œ๋ฅผ VSCode ํŒ€์— ์žˆ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด๋ฏ€๋กœ ์ด ๋ฌธ์ œ๋ฅผ ๋‘˜๋กœ ๋‚˜๋ˆ„์–ด์•ผ ํ•˜๋Š”์ง€์— ๋Œ€ํ•œ ์ œ ์ œ์•ˆ์— ๋Œ€ํ•ด ์–ธ๊ธ‰ํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ "๋ณ‘ํ•ฉ UI๊ฐ€ ๊ตฌํ˜„๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค"์™€ "(3๋ฐฉํ–ฅ ๋ณ‘ํ•ฉ ์™ธ์—) ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์€ ์—†์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค"๋ผ๋Š” ์ด์ „ ์‘๋‹ต์œผ๋กœ ํŒ๋‹จํ•˜๋ฉด ๋‚ด๊ฐ€ ์–ธ๊ธ‰ํ•œ ๋‘ ๊ฐ€์ง€ ๋ฌธ์ œ๋ฅผ ๋ชจ๋‘ ๋ณด๊ณ  ์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ํ•œ ๊ฐ€์ง€๋กœ.

@joaomoreno , ๋จผ์ € ๋‹จ๊ธฐ์ ์œผ๋กœ ๊ธฐ์กด ๋ณ‘ํ•ฉ ๋™์ž‘์„ ๋…ธ์ถœํ•˜๋Š” ๋ช…๋ น์ค„ ์˜ต์…˜์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด ๋ง์ด ๋˜์ง€ ์•Š์Šต๋‹ˆ๊นŒ? ์ €๋Š” ๊ฐœ์ธ์ ์œผ๋กœ ํ˜„์žฌ ์ธ๋ผ์ธ ๋ณ‘ํ•ฉ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์œผ๋ฉฐ 3์—ด ๋ณด๊ธฐ๊ฐ€ ํ•„์ˆ˜์ ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค(์ข‹์„ ์ˆ˜๋„ ์žˆ์ง€๋งŒ). ๊ทธ๋Ÿฌ๋‚˜ ๊ธฐ์กด ๋ณ‘ํ•ฉ์„ ๋ช…๋ น์ค„์— ์—ฐ๊ฒฐํ•˜๋Š” ๊ฒƒ์ด ์‰ฌ์šด ์ž‘์—…์ด๋ผ๋ฉด VSCode ํŒ€์ด ๋” ๋ฉ‹์ง„ 3๋ฐฉํ–ฅ ๋ณ‘ํ•ฉ ์‹œ๊ฐํ™”๋ฅผ ๊ตฌํ˜„ํ•  ์˜์ง€๊ฐ€ ์—†์–ด ๋ฌด๊ธฐํ•œ ์ค‘๋‹จ๋˜๋Š” ๊ฒƒ์„ ์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์˜ˆ, http://meldmerge.org/ ์™€ ๊ฐ™์€ ์‹œ๊ฐ์  ๋ณ‘ํ•ฉ ๋ณด๊ธฐ/ํŽธ์ง‘๊ธฐ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๋ณด์Šค์ฒ˜๋Ÿผ ์ผํ•˜๋Š” WinMerge
after-3way-merge

์˜ˆ, http://meldmerge.org/ ์™€ ๊ฐ™์€ ์‹œ๊ฐ์  ๋ณ‘ํ•ฉ ๋ณด๊ธฐ/ํŽธ์ง‘๊ธฐ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๋‚˜๋Š” Meld๋ฅผ โ€‹โ€‹์‚ฌ์šฉํ•˜๊ณ  VSCode๊ฐ€ ๋™์ผํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์„ ๋ณด๊ณ  ์‹ถ์ง€๋งŒ ์ด๋ฅผ ์œ„ํ•ด Meld๋ฅผ โ€‹โ€‹์‚ฌ์šฉํ•˜๋Š” ๋ฐ ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

@lig ์™œ ํŽธ์ง‘์„ ์œ„ํ•ด vscode๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ? ๋‚˜๋Š” ๊ทธ๋ƒฅ ๋ฉ”๋ชจ์žฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค

@josser ๋Š” ํ˜„์žฌ ์ž‘์—…์— ๋” ์ž˜ ๋งž๋Š” ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ด ์„ฑ์Šค๋Ÿฌ์šด ์ „์Ÿ์ด ์ฃผ์ œ๊ฐ€ ์•„๋‹ˆ๋ผ๊ณ  ์ƒ๊ฐํ•œ๋‹ค.

@lig ์‚ฌ๋žŒ๋“ค์ด ๋ณ‘ํ•ฉ ๋„๊ตฌ๋ฅผ vscode์— ํ†ตํ•ฉํ•˜๋ ค๋Š” ์ด์œ ๋ฅผ ์„ค๋ช…ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.
๊ทธ๋“ค์€ vscode๋ฅผ ์ข‹์•„ํ•˜๊ณ  ๋‹ค๋ฅธ ๋„๊ตฌ๋ฅผ ์ข‹์•„ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋ณ‘ํ•ฉ๋„ ํŽธ์ง‘์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํŽธ์ง‘์ด ๋ณ‘ํ•ฉ ํ”„๋กœ์„ธ์Šค์˜ ์ผ๋ถ€์ธ ๊ฒฝ์šฐ์—๋„ ๋ฉ‹์ง„ ํŽธ์ง‘๊ธฐ์—์„œ ํŽธ์ง‘ ํŒŒ์ผ์„ ์›ํ•ฉ๋‹ˆ๋‹ค.

์ด ์˜๊ฒฌ์„ ์‚ดํŽด๋ณด์‹ญ์‹œ์˜ค. https://github.com/Microsoft/vscode/issues/5770#issuecomment -265497516

@josser ๋Š” ์ด ์Šค๋ ˆ๋“œ์˜ ์•ž๋ถ€๋ถ„์—์„œ ์—ฌ๋Ÿฌ ๋ฒˆ ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด VSCode๋ฅผ ๋ณ‘ํ•ฉ ๋„๊ตฌ๋กœ ์‚ฌ์šฉํ•˜๋„๋ก git์„ ์„ค์ •ํ•˜๊ณ  ์ถฉ๋Œ ์ค‘์— git mergetool ๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ์›๋ž˜ ์š”์ฒญ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด VSCode ๋ณ‘ํ•ฉ ํ๋ฆ„์ด ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ๋‚˜์™€ ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž๋ฅผ ์œ„ํ•ด.

VSCode๋ฅผ ๋ณ‘ํ•ฉ ๋„๊ตฌ๋กœ ์‚ฌ์šฉํ•  ๋•Œ Meld์™€ ์œ ์‚ฌํ•œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋ณด๊ณ  ์‹ถ๋‹ค๋ฉด _๋ณ„๋„์˜ ๋ฌธ์ œ์— ๋ณ„๋„์˜ ๊ธฐ๋Šฅ ์š”์ฒญ์„ ์ƒ์„ฑ_ํ•˜์—ฌ ๋ณธ์งˆ์ ์œผ๋กœ _๊ด€๋ จ ์—†๋Š” ๊ธฐ๋Šฅ ์š”์ฒญ_์— ๋Œ€ํ•œ ์ด ์Šค๋ ˆ๋“œ์˜ ์ŠคํŒธ์„ ์ค‘์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

@lig ์‚ฌ๋žŒ๋“ค์ด ๋ณ‘ํ•ฉ ๋„๊ตฌ๋ฅผ vscode์— ํ†ตํ•ฉํ•˜๋ ค๋Š” ์ด์œ ๋ฅผ ์„ค๋ช…ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.
๊ทธ๋“ค์€ vscode๋ฅผ ์ข‹์•„ํ•˜๊ณ  ๋‹ค๋ฅธ ๋„๊ตฌ๋ฅผ ์ข‹์•„ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋ณ‘ํ•ฉ๋„ ํŽธ์ง‘์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํŽธ์ง‘์ด ๋ณ‘ํ•ฉ ํ”„๋กœ์„ธ์Šค์˜ ์ผ๋ถ€์ธ ๊ฒฝ์šฐ์—๋„ ๋ฉ‹์ง„ ํŽธ์ง‘๊ธฐ์—์„œ ํŽธ์ง‘ ํŒŒ์ผ์„ ์›ํ•ฉ๋‹ˆ๋‹ค.

์ด ๋Œ“๊ธ€์„ ์‚ดํŽด๋ณด์„ธ์š”: #5770 (๋Œ“๊ธ€)

ํ‰๋ฒ”ํ•˜๊ณ  ์‰ฌ์šด ! ๊ทธ๊ฒƒ์ด ๋ฐ”๋กœ ์‚ฌ๋žŒ๋“ค์ด ์›ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์™œ ๊ทธ๋ ‡๊ฒŒ ์ดํ•ดํ•˜๊ธฐ ์–ด๋ ต์Šต๋‹ˆ๊นŒ? diff๋ฅผ ์‹œ์ž‘ํ•˜๊ณ  ๋‹ค์Œ ๋‹จ๊ณ„๋Š” ๋ณ‘ํ•ฉ์ž…๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์€ ํ•จ๊ป˜ ์†ํ•ด ์žˆ์œผ๋ฉฐ ๋ชจ๋“  ๋ถ„๋ฆฌ๋Š” ์™„์ „ํžˆ ์ข‹์€ ์ž‘์—… ํ๋ฆ„์— ์œ„๋ฐฐ๋˜๋ฉฐ ์‹œ๊ฐ„์ด ์†Œ์š”๋ฉ๋‹ˆ๋‹ค. Visual Studio ์ฝ”๋“œ ํŽธ์ง‘๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์™ธ๋ถ€ ๋„๊ตฌ๋Š” ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ VS Code๋ฅผ 3๋ฐฉํ–ฅ ๋ณ‘ํ•ฉ ํŽธ์ง‘๊ธฐ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ์™ผ์ชฝ ๋˜๋Š” ์˜ค๋ฅธ์ชฝ์—์„œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ˆ˜๋ฝํ•˜๊ฑฐ๋‚˜ ๊ฑฐ๋ถ€ํ•˜๊ณ  ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ปค๋ฐ‹ํ•˜๊ธฐ ์ „์— ๊ฒฐ๊ณผ๋ฅผ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด VSCode๊ฐ€ ๋งŽ์ด ํ–ฅ์ƒ๋ฉ๋‹ˆ๋‹ค. ์ค‘์š”ํ•œ ๊ฒƒ ์ค‘ ํ•˜๋‚˜์ธ ๋ณ‘ํ•ฉ์„ ์ œ์™ธํ•˜๊ณ  ๊ทธ๋ ‡๊ฒŒ ๋งŽ์€ ๊ฐ•๋ ฅํ•œ git ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ์ •๋ง ์˜๋ฏธ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

JetBrains์ฒ˜๋Ÿผ ๋งŒ๋“œ์‹ญ์‹œ์˜ค. (https://github.com/Microsoft/vscode/issues/37350)

๊ทธ๋ฆฌ๊ณ  ์†”์งํžˆ, ๋ฉœ๋“œ ๋ณ‘ํ•ฉ์€ ๊ฝค ์ถ”ํ•ด ๋ณด์ž…๋‹ˆ๋‹ค. 2012๋…„ ์ž๋ฃŒ ๋งž์ฃ ? ๊ทธ๋ฆฌ๊ณ  ๊ทธ๊ฒƒ์€ 2003๋…„๋ถ€ํ„ฐ์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์™œ 3way merge๋ฅผ ํ•  ๋•Œ๋งˆ๋‹ค ์‹œ๊ฐ„ ์—ฌํ–‰์„ ํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?

3๋ฐฉํ–ฅ ๋ณ‘ํ•ฉ ๋ณด๊ธฐ๋ฅผ ๊ฐ–๋„๋ก ์ƒˆ๋กœ์šด ๋ฌธ์ œ๊ฐ€ ์ƒ์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค: https://github.com/Microsoft/vscode/issues/37350

๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ์•„๋ฆ„๋‹ค์šด ๋ชฉ์—…์œผ๋กœ ์™„์„ฑ๋œ 3๋ฐฉํ–ฅ ๋ณ‘ํ•ฉ UI(์—ฌ๊ธฐ์—์„œ ๊ถŒ์žฅ๋จ)์— ๋Œ€ํ•œ ๋ณ„๋„์˜ ๋ฌธ์ œ๋ฅผ ์—ฌ๋Š” ๋ฐ ์‹œ๊ฐ„์„ ๋“ค์ด๊ณ  ์ฆ‰์‹œ ๋‹ซ์•˜์Šต๋‹ˆ๋‹ค. =(

@mofahead ๋‚ด๊ฐ€ ๋งŒ๋“  ๊ฒƒ์€ # 37350 ์˜ ๋ณต์ œ๋ณธ ์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค .. ๋‹ซ๊ธฐ๊ฐ€์ด ๋ฌธ์ œ๋ฅผ ์–ธ๊ธ‰ํ–ˆ์ง€๋งŒ.

๋ณ‘ํ•ฉ ํŽธ์ง‘๊ธฐ๋กœ ํ™œ์„ฑํ™”ํ•˜๊ธฐ ์ „์— https://github.com/Microsoft/vscode/issues/8226 ์„ ๊ฐœ์„ ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š” ์—ฌ๋Ÿฌ๋ถ„!

ํŠœํ† ๋ฆฌ์–ผ์— ๋”ฐ๋ผ VSCode๋ฅผ ๊ณต์‹ git.mergetool๋กœ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

https://stackoverflow.com/a/44549734

์—ฌ๊ธฐ์— UI ์ธก๋ฉด๊ณผ ๋ณ‘ํ•ฉ ๊ธฐ๋Šฅ์„ ๋ชจ๋‘ ์–ธ๊ธ‰ํ•˜๋Š” ์‚ฌ๋žŒ๋“ค๊ณผ ํ˜ผ๋™์ด ์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ €์—๊ฒŒ ์˜ค๋Š˜๋‚  VSCode์—์„œ ๊ฐ€์žฅ ํฐ ์ƒ์‚ฐ์„ฑ ํ‚ฌ๋Ÿฌ๋Š” ๋ณ‘ํ•ฉ์ด ๋‚˜๋ž€ํžˆ๊ฐ€ ์•„๋‹ˆ๋ผ ์ˆ˜์ง์œผ๋กœ ์ž‘๋™ํ•œ๋‹ค๋Š” ์‚ฌ์‹ค์ž…๋‹ˆ๋‹ค.

์†”์งํžˆ ์–ด๋–ป๊ฒŒ ์ด๊ฒƒ์ด ์›๊ฒฉ์œผ๋กœ ์ด ๊ธฐ๋Šฅ์— ํ—ˆ์šฉ๋˜๋Š” UI๋กœ ๊ฐ„์ฃผ๋  ์ˆ˜ ์žˆ๋Š”์ง€ ์ดํ•ด๊ฐ€ ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์“ธ๋ชจ์—†๋Š”.

Mac ์‚ฌ์šฉ์ž๋ฅผ ์œ„ํ•œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • Diffmerge ์„ค์น˜
  • VSCode Git Diff ๋ฐ ๋ณ‘ํ•ฉ ๋„๊ตฌ ์„ค์น˜
  • ~/.gitconfig
    ์ถ”๊ฐ€ํ•˜๋‹ค
[diff]
        tool = diffmerge
[difftool "diffmerge"]
        cmd = diffmerge \"$LOCAL\" \"$REMOTE\"
[merge]
        tool = diffmerge
[mergetool "diffmerge"]
        cmd = diffmerge -merge \"$LOCAL\" \"$BASE\" \"$REMOTE\"
        trustexitcode = true
        keepbackup = false
  • VSCode์—์„œ ์†Œ์Šค ์ œ์–ด๋กœ ์ด๋™ํ•˜์—ฌ ํŒŒ์ผ์„ ๋งˆ์šฐ์Šค ์˜ค๋ฅธ์ชฝ ๋ฒ„ํŠผ์œผ๋กœ ํด๋ฆญํ•˜๊ณ  Launch merge tool

์œ ์ผํ•œ ๊ฒƒ์€ ๋ชจ๋“  ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ ํŒŒ์ผ์ด ์ž๋™์œผ๋กœ VSCode์— ๋‹ค์‹œ ๋ณ‘ํ•ฉ๋˜๋„๋ก ํ•  ์ˆ˜ ์—†๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

Mac๊ณผ Windows์—์„œ ์ˆ˜๋…„๊ฐ„ diffmerge๋ฅผ ์‚ฌ์šฉํ•ด ์™”์Šต๋‹ˆ๋‹ค. ๋ช‡ ๋‹ฌ ์ „์— Sublime Merge๋กœ ์ „ํ™˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ •๋ง, ์ •๋ง ์‚ฌ๋ž‘ํ•ฉ๋‹ˆ๋‹ค. ๋น ๋ฅด๊ณ  ํ˜„๋Œ€์ ์ž…๋‹ˆ๋‹ค. ํ•ด๋‹น ํ™˜๊ฒฝ์—์„œ ์ž‘์—…ํ•ด์•ผ ํ•  ๋•Œ Visual Studio ๋Œ€์‹  Windows์—์„œ๋„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

VCS๊ฐ€ ์ œ์–ดํ•˜์ง€ ์•Š๋Š” ๋””๋ ‰ํ† ๋ฆฌ์˜ diff ๋ฐ ๋ณ‘ํ•ฉ์„ ์œ„ํ•ด emacs๋กœ ๋Œ์•„๊ฐ€์‹ญ์‹œ์˜ค :(

VS Code์—๋Š” ๋””๋ ‰ํ† ๋ฆฌ ๋น„๊ต๋ฅผ ์œ„ํ•œ ๋ฉ‹์ง„ ํ”Œ๋Ÿฌ๊ทธ์ธ L13D๊ฐ€ ์žˆ์ง€๋งŒ(์˜ˆ: ์†Œ์Šค ์ปดํ“จํ„ฐ์™€ ๋Œ€์ƒ ์ปดํ“จํ„ฐ ๊ฐ„์˜ ๊ตฌ์„ฑ ๋””๋ ‰ํ† ๋ฆฌ) git ๋˜๋Š” ๋‹ค๋ฅธ ๋ฒ„์ „ ์ œ์–ด ์—†์ด๋Š” ๋ณ‘ํ•ฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ์ด ์ž‘์—…์„ ์œ„ํ•ด ์„ธ์…˜์„ ๋งŒ๋“  ๋‹ค์Œ ๋‚ด๊ฐ€ ์›ํ•˜๋Š” ๊ฒƒ์„ ์„ ํƒ์ ์œผ๋กœ ๋ณ‘ํ•ฉํ•˜๋Š” ๊ฒƒ์ด emacs์˜ diff-directories ์ž…๋‹ˆ๋‹ค. ๋‚˜๋Š” emacs๋ฅผ ๋– ๋‚˜๋ ค๊ณ  ํ•˜์ง€๋งŒ ์—ฌ์ „ํžˆ ๊ฐ€๋” ์ฝ”๋“œ๊ฐ€ ํ•  ์ˆ˜ ์—†๋Š” ์ผ์„ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

VS Code์—๋Š” ๋””๋ ‰ํ† ๋ฆฌ ๋น„๊ต๋ฅผ ์œ„ํ•œ ๋ฉ‹์ง„ ํ”Œ๋Ÿฌ๊ทธ์ธ L13D๊ฐ€ ์žˆ์ง€๋งŒ(์˜ˆ: ์†Œ์Šค ์ปดํ“จํ„ฐ์™€ ๋Œ€์ƒ ์ปดํ“จํ„ฐ ๊ฐ„์˜ ๊ตฌ์„ฑ ๋””๋ ‰ํ† ๋ฆฌ) git ๋˜๋Š” ๋‹ค๋ฅธ ๋ฒ„์ „ ์ œ์–ด ์—†์ด๋Š” ๋ณ‘ํ•ฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

L13D์— ๋Œ€ํ•œ ๋งํฌ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

@christarczon ํ”Œ๋Ÿฌ๊ทธ์ธ ์ด๋ฆ„์€ L13 Diff ์ž…๋‹ˆ๋‹ค. - https://marketplace.visualstudio.com/items?itemName=L13RARY.l13-diff

์™„์ „ํžˆ ์ดํ•ดํ–ˆ๋Š”์ง€ ์ž˜ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ ์‚ฌ๋žŒ๋“ค์€ 3๋ฐฉํ–ฅ ๋ณ‘ํ•ฉ์„ ์š”์ฒญํ•˜๋Š” ๊ฒƒ ๊ฐ™์ง€๋งŒ ์ด ์Šคํฌ๋ฆฐ์ƒท๊ณผ ๊ฐ™์ด VSCode์— ์ด๋ฏธ 3๋ฐฉํ–ฅ ๋ณ‘ํ•ฉ์ด ์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

image

์ด๊ฒƒ์€ ์™„์ „ํžˆ ์‚ฌ์†Œํ•œ ๋ณ‘ํ•ฉ ์ถฉ๋Œ์— ๋Œ€ํ•ด ์ž‘๋™ํ•˜์ง€๋งŒ VSCode๋งŒ ์‚ฌ์šฉํ•˜๋Š” ํšŒ์‚ฌ์˜ ์‚ฌ๋žŒ๋“ค์„ ๋งŒ๋‚˜๊ณ  ์žˆ์œผ๋ฉฐ "๋ณ‘ํ•ฉ ์ถฉ๋Œ"์— ๋Œ€ํ•œ ์ „์ฒด ์•„์ด๋””์–ด๋Š” VSCode์˜ ์ง€๋‚˜์น˜๊ฒŒ ๋‹จ์ˆœํ™”๋œ diff๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์‚ฌ์†Œํ•œ ๋ณ‘ํ•ฉ ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•˜๋ฉด ์ตœ์†Œํ•œ ํ•œ ๋ฒˆ์€ ํ•ญ์ƒ "ํ•œ์ชฝ๋งŒ ์„ ํƒ"ํ•ฉ๋‹ˆ๋‹ค(๊ธฐ๋ณธ์ ์œผ๋กœ ๋ˆ„๊ตฐ๊ฐ€์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๊ฒฐํ•ฉํ•˜๋Š” ๋Œ€์‹  ๋ช‡ ์ค„๋กœ ์‚ญ์ œ).

์šฐ๋ฆฌ๋Š” VSCode์— ํ˜ผํ•ฉํ˜• ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ํ•„์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด ์•„๋‹ˆ๋ผ ๊ทธ๊ฒƒ์ด ์—†์œผ๋ฉด ์ Š์€ ๊ฐœ๋ฐœ์ž์—๊ฒŒ ๋‚˜์œ ๊ด€ํ–‰์„ ์กฐ์žฅํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

"์ Š์€ ๊ฐœ๋ฐœ์ž"๋งŒ์ด ์•„๋‹™๋‹ˆ๋‹ค. ์ €๋Š” 20๋…„ ๋™์•ˆ ์ฝ”๋”ฉ์„ ํ•ด์™”์œผ๋ฉฐ 3์ฐฝ ๋ณ‘ํ•ฉ์ด ํ›จ์”ฌ ๋” ์ข‹์Šต๋‹ˆ๋‹ค. ํ•œ ๋ฒˆ์— ๊ฐ ๋ฒ„์ „์˜ ์ฝ”๋“œ ์ „์ฒด๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค๋ฉด ์žก์•˜์„ ์ธ๋ผ์ธ diff๋กœ ์‹ค์ˆ˜๋ฅผ ๋ฒ”ํ•  ๊ฒƒ ์ž…๋‹ˆ๋‹ค.

๊ฐ ์ฐฝ์—์„œ ๊ธฐ๋ณธ ์ปค๋ฐ‹์— ๋Œ€ํ•ด diff๊ฐ€ ์žˆ๋Š” ์„ธ ๊ฐœ์˜ ์ฐฝ์„ ๋ณด๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์–ด๋””์—์„œ ๋ฌด์—‡์ด ๋ณ€๊ฒฝ๋˜์—ˆ๊ณ  ์œ ์ง€ํ•ด์•ผ ํ•˜๊ณ  ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์•˜๋Š”์ง€ ์‰ฝ๊ฒŒ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

@lig ์‚ฌ๋žŒ๋“ค์ด ๋ณ‘ํ•ฉ ๋„๊ตฌ๋ฅผ vscode์— ํ†ตํ•ฉํ•˜๋ ค๋Š” ์ด์œ ๋ฅผ ์„ค๋ช…ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.
๊ทธ๋“ค์€ vscode๋ฅผ ์ข‹์•„ํ•˜๊ณ  ๋‹ค๋ฅธ ๋„๊ตฌ๋ฅผ ์ข‹์•„ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋ณ‘ํ•ฉ๋„ ํŽธ์ง‘์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํŽธ์ง‘์ด ๋ณ‘ํ•ฉ ํ”„๋กœ์„ธ์Šค์˜ ์ผ๋ถ€์ธ ๊ฒฝ์šฐ์—๋„ ๋ฉ‹์ง„ ํŽธ์ง‘๊ธฐ์—์„œ ํŽธ์ง‘ ํŒŒ์ผ์„ ์›ํ•ฉ๋‹ˆ๋‹ค.

VSCode๋Š” ์˜๊ด‘์Šค๋Ÿฌ์šด ํ…์ŠคํŠธ ํŽธ์ง‘๊ธฐ ์ด์ƒ์ด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋ฆฐํ„ฐ์™€ ์ธํ…”๋ฆฌ์„ผ์Šค๊ฐ€ ์žˆ๋Š” IDE์ž…๋‹ˆ๋‹ค. ์ •์˜๋˜์ง€ ์•Š์€ ๋ณ€์ˆ˜์— ๋Œ€ํ•ด ๋‚ด Python ์ฝ”๋“œ๋ฅผ ๊ตฌ๋ฌธ ๋ถ„์„ํ•˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์‹ค์‹œ๊ฐ„์œผ๋กœ linter+intellisense+etc์˜ ํžŒํŠธ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋„๋ก ๋ณ‘ํ•ฉํ•  ๋•Œ ๋งค์šฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ˆ˜๋ฝํ•  ํšŒ์„ ์„ ์„ ํƒํ•  ๋•Œ ์ œ์•ˆํ•ฉ๋‹ˆ๋‹ค.

"๋ฉ์ฒญํ•œ" ๋ณ‘ํ•ฉ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ณ‘ํ•ฉ์—์„œ ์‹ค์ˆ˜๋ฅผ ์ฐพ๊ธฐ๊ฐ€ ๋” ์–ด๋ ค์›Œ์ง€๊ณ  ๋ณ‘ํ•ฉํ•˜๊ณ  VSC๋กœ ๋Œ์•„๊ฐ„ ํ›„์—๋„ ์ˆ˜์ •ํ•˜๊ธฐ๊ฐ€ ๋” ์–ด๋ ค์›Œ์ง‘๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ๋‚ด๊ฐ€ VS Code๋กœ ๋Œ์•„์˜ค์ง€ ๋ชปํ•˜๊ฒŒ ํ•˜๋Š” 2~3๊ฐ€์ง€ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ 2020 ๋กœ๋“œ๋งต์— ์žˆ์Šต๋‹ˆ๋‹ค-

์™„์ „ํ•œ ๋ณ‘ํ•ฉ ์ง€์› ์ œ๊ณต(3-way)

์ฐธ์กฐ- https://github.com/microsoft/vscode/wiki/Roadmap#scm

๋ฐฉ๊ธˆ ๋‚ด ํ™•์žฅ VS Code๋ฅผ Git Mergetool๋กœ ์ถœ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๋ณ‘ํ•ฉ ์ถฉ๋Œ ํŽธ์ง‘๊ธฐ๋งŒํผ ๊ธฐ๋Šฅ์ด ํ’๋ถ€ํ•˜์ง€๋Š” ์•Š์ง€๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ๋‚˜๋Š” ๊ณ ์ „์ ์ธ 3์—ด ๋ ˆ์ด์•„์›ƒ๋ณด๋‹ค ๋” ์‹ค์šฉ์ ์ธ 4์ฐฝ ๋ ˆ์ด์•„์›ƒ์„ ๊ตฌ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. ํ”ผ๋“œ๋ฐฑ์„ ์กฐ์‹ฌํ•˜์„ธ์š”!

์•„์ง Marketplace์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ GitHub์—์„œ ๋‹ค์šด๋กœ๋“œํ•˜์—ฌ ์ˆ˜๋™์œผ๋กœ ์„ค์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค._

์•ˆ๋…•ํ•˜์„ธ์š” @zawys๋‹˜

oprhan ํŒŒ์ผ์„ ๋ณ‘ํ•ฉํ•  3๊ฐœ ๋˜๋Š” 4๊ฐœ์˜ ํด๋” ๋น„๊ต๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๊นŒ?

์•ˆ๋…•ํ•˜์„ธ์š” @gusbemacbe ,

ํ˜„์žฌ ์ƒํƒœ์—์„œ ํ™•์žฅ์€ ์ฃผ๋กœ git mergetool ์˜ ์ธํ„ฐํŽ˜์ด์Šค์— ๋งž๋Š” "3-way" ํŒŒ์ผ ๋ณ‘ํ•ฉ ๋„๊ตฌ๋กœ ์ƒ๊ฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์—ฌ์ „ํžˆ โ€‹โ€‹1์ฐจ ๋ชฉํ‘œ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด ์ž‘์€ ์…ธ ์Šคํฌ๋ฆฝํŠธ์— ์ž์ฒด UX ๊ฒฐํ•จ์ด ์žˆ์œผ๋ฏ€๋กœ git-mergetool ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹คํ–‰ํ•  ํ•„์š”๊ฐ€ ์—†๋„๋ก ๊ธฐ๋Šฅ์„ ํ™•์žฅํ•  ๊ณ„ํš์ž…๋‹ˆ๋‹ค. ๋Œ€์‹  ํ™•์žฅ ๊ธฐ๋Šฅ์„ VS Code์™€ ๋” ํ†ตํ•ฉํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

๊ทธ ๊ณผ์ •์—์„œ ์‚ญ์ œ ๋ฐ ์‹ฌ๋ณผ๋ฆญ ๋งํฌ ๋ณ‘ํ•ฉ ์ถฉ๋Œ ํ•ด๊ฒฐ๊ณผ ๊ฐ™์€ git-mergetool์˜ ์ผ๋ถ€ ๊ธฐ๋Šฅ์„ ๋ณต์ œํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์ด ๊ท€ํ•˜์˜ ์‚ฌ์šฉ ์‚ฌ๋ก€๋ฅผ ์–ผ๋งˆ๋‚˜ ์ปค๋ฒ„ํ•˜๋Š”์ง€ ์ž˜ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด accept-all-incoming-in-folder ๋ช…๋ น์„ ์ถ”๊ฐ€ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์— ๋Œ€ํ•œ ๋ฌธ์ œ๋ฅผ ์—ด์–ด์ฃผ์„ธ์š”.
์ถ”๊ฐ€ ๋…ผ์˜๋ฅผ ์œ„ํ•œ ํ™•์žฅ์ž…๋‹ˆ๋‹ค.

๋‚ด ํ™•์žฅ ๊ธฐ๋Šฅ์€ ์ด์ œ Marketplace ์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚ด ํ™•์žฅ ๊ธฐ๋Šฅ์€ ์ด์ œ Marketplace ์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

202010-04_0859_27__

@InLaw ํ™•์žฅ์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด VS ์ฝ”๋“œ๋ฅผ ์—…๋ฐ์ดํŠธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ถ”๊ฐ€ ๋…ผ์˜๋ฅผ ์œ„ํ•ด ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ ์‚ฌ์ดํŠธ ์—์„œ ๋ฒ„๊ทธ ๋ณด๊ณ ์„œ๋ฅผ ์ž‘์„ฑํ•˜์‹ญ์‹œ์˜ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰