Dev_TIMI

์Šค๋‚ต ๊นƒ ๐Ÿช - ์ค‘๊ธ‰ํŽธ #4: ํšŒ์‚ฌ์™€ ๊ฐœ์ธ Git ๊ณ„์ • ๊น”๋”ํ•˜๊ฒŒ ๋ถ„๋ฆฌํ•˜๊ธฐ

by its_TIMI

Git์„ ์‚ฌ์šฉํ•˜๋ฉด์„œ ํšŒ์‚ฌ ๊ณ„์ •๊ณผ ๊ฐœ์ธ ๊ณ„์ •์„ ๋™์‹œ์— ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค. ํŠนํžˆ, ๋™์ผํ•œ ์ปดํ“จํ„ฐ์—์„œ ์ž‘์—…ํ•  ๋•Œ ๋งค๋ฒˆ ๊ณ„์ •์„ ์ „ํ™˜ํ•˜๋Š” ๊ฒƒ์€ ๋ฒˆ๊ฑฐ๋กœ์šธ ์ˆ˜ ์žˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด Git์—์„œ๋Š” ํŠน์ • ๋””๋ ‰ํ† ๋ฆฌ๋ณ„๋กœ ๊ณ„์ •์„ ๋ถ„๋ฆฌํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค. ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” includeIf ์„ค์ •์„ ํ™œ์šฉํ•ด ํšŒ์‚ฌ์™€ ๊ฐœ์ธ Git ๊ณ„์ •์„ ๊น”๋”ํ•˜๊ฒŒ ๋ถ„๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‚ดํŽด๋ณด๋„๋ก ํ•˜์ž.


๐ŸŒŸ Git ๊ณ„์ • ๋ถ„๋ฆฌ ์„ค์ •์ด ํ•„์š”ํ•œ ์ด์œ 

 

ํšŒ์‚ฌ ํ”„๋กœ์ ํŠธ์™€ ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ๋ฅผ ๋™์ผํ•œ ์ปดํ“จํ„ฐ์—์„œ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒฝ์šฐ, ์•„๋ž˜์™€ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค:

 

1. ์ž˜๋ชป๋œ ๊ณ„์ •์œผ๋กœ ์ปค๋ฐ‹

ํšŒ์‚ฌ ํ”„๋กœ์ ํŠธ์— ๊ฐœ์ธ ๊ณ„์ •์œผ๋กœ ์ปค๋ฐ‹ํ•˜๊ฑฐ๋‚˜, ๋ฐ˜๋Œ€๋กœ ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ์— ํšŒ์‚ฌ ๊ณ„์ •์œผ๋กœ ์ปค๋ฐ‹ํ•˜๋Š” ์‹ค์ˆ˜๋ฅผ ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

2. ๋ฒˆ๊ฑฐ๋กœ์šด ๊ณ„์ • ์ „ํ™˜

ํ”„๋กœ์ ํŠธ๋งˆ๋‹ค ๊ณ„์ •์„ ๋ณ€๊ฒฝํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ, ๋งค๋ฒˆ ์ˆ˜๋™์œผ๋กœ ๊ณ„์ •์„ ์„ค์ •ํ•˜๋Š” ๊ณผ์ •์ด ๋น„ํšจ์œจ์ ์ด๋‹ค.

 

Git์˜ includeIf ์„ค์ •์„ ์‚ฌ์šฉํ•˜๋ฉด ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ๊ฐ„๋‹จํžˆ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.


๐ŸŒŸ ์„ค์ • ๋ฐฉ๋ฒ•

 

1. ๊ฐœ์ธ ๊ณ„์ • ์„ค์ • ํŒŒ์ผ ์ƒ์„ฑ

 

๋จผ์ €, ๊ฐœ์ธ ๊ณ„์ •์„ ๋ณ„๋„์˜ ์„ค์ • ํŒŒ์ผ๋กœ ์ƒ์„ฑํ•œ๋‹ค:

vim ~/.gitconfig-private

 

ํŒŒ์ผ์— ์•„๋ž˜ ๋‚ด์šฉ์„ ์ž…๋ ฅํ•œ๋‹ค:

[user]
    email = ๊ฐœ์ธ์ด๋ฉ”์ผ@์˜ˆ์‹œ.com
    name = ๊ฐœ์ธ๊ณ„์ •์ด๋ฆ„

 

2. ๊ธ€๋กœ๋ฒŒ ์„ค์ •์— ํšŒ์‚ฌ ๊ณ„์ • ๋“ฑ๋ก

 

๊ธ€๋กœ๋ฒŒ ์„ค์ •์—๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ํšŒ์‚ฌ ๊ณ„์ •์„ ์„ค์ •ํ•œ๋‹ค:

git config --global user.name "ํšŒ์‚ฌ๊ณ„์ •์ด๋ฆ„"
git config --global user.email "ํšŒ์‚ฌ์ด๋ฉ”์ผ@์˜ˆ์‹œ.com"

 

3. ํŠน์ • ๋””๋ ‰ํ† ๋ฆฌ์— ๊ฐœ์ธ ๊ณ„์ • ์ ์šฉ

 

๊ธ€๋กœ๋ฒŒ ์„ค์ • ํŒŒ์ผ(~/.gitconfig)์— ๋‹ค์Œ ๋‚ด์šฉ์„ ์ถ”๊ฐ€ํ•œ๋‹ค:

[includeIf "gitdir:~/my/private/repos/"]

    path = ~/.gitconfig-private

์ด ์„ค์ •์€ ~/my/private/repos/ ๋””๋ ‰ํ† ๋ฆฌ ํ•˜์œ„์˜ ๋ชจ๋“  ํ”„๋กœ์ ํŠธ์—์„œ๋งŒ ๊ฐœ์ธ ๊ณ„์ •์„ ์‚ฌ์šฉํ•˜๋„๋ก ์ง€์ •ํ•œ๋‹ค.


 

๐ŸŒŸ ์„ค์ • ํ™•์ธ ๋ฐฉ๋ฒ•

 

์œ„ ์„ค์ •์ด ์ œ๋Œ€๋กœ ์ ์šฉ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•˜๋ ค๋ฉด, ํ”„๋กœ์ ํŠธ ๋””๋ ‰ํ† ๋ฆฌ์—์„œ ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•œ๋‹ค:

git config user.name
git config user.email

์ถœ๋ ฅ๋œ ๊ณ„์ • ์ •๋ณด๊ฐ€ ์˜๋„ํ•œ ๋Œ€๋กœ ํ‘œ์‹œ๋˜๋ฉด ์„ค์ •์ด ์ž˜ ์ ์šฉ๋œ ๊ฒƒ์ด๋‹ค.


๐ŸŒŸ ์ถ”๊ฐ€ ํŒ: ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” Git ๋ช…๋ น์–ด

 

1. ํ˜„์žฌ ๊ณ„์ • ํ™•์ธ

git config user.name
git config user.email

 

2. ๋กœ์ปฌ ์„ค์ • ๋ณ€๊ฒฝ

ํŠน์ • ํ”„๋กœ์ ํŠธ์—์„œ๋งŒ ๋‹ค๋ฅธ ๊ณ„์ •์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ํ™œ์šฉํ•œ๋‹ค:

git config user.name "๋‹ค๋ฅธ๊ณ„์ •์ด๋ฆ„"
git config user.email "๋‹ค๋ฅธ๊ณ„์ •@์˜ˆ์‹œ.com"

 

3. ์„ค์ • ์ดˆ๊ธฐํ™”

์ž˜๋ชป ์„ค์ •๋œ ๊ณ„์ •์„ ์ดˆ๊ธฐํ™”ํ•˜๋ ค๋ฉด:

git config --unset user.name
git config --unset user.email

 

๐ŸŒŸ ์ •๋ฆฌ

 

Git์˜ includeIf ์„ค์ •์€ ํšŒ์‚ฌ์™€ ๊ฐœ์ธ ๊ณ„์ •์„ ๊น”๋”ํ•˜๊ฒŒ ๋ถ„๋ฆฌํ•˜์—ฌ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ๋งค์šฐ ์œ ์šฉํ•˜๋‹ค.

์ด๋ฅผ ํ™œ์šฉํ•˜๋ฉด ํ”„๋กœ์ ํŠธ๋งˆ๋‹ค ๊ณ„์ •์„ ์„ค์ •ํ•˜๋Š” ๋ฒˆ๊ฑฐ๋กœ์›€์„ ์ค„์ด๊ณ , ์‹ค์ˆ˜๋กœ ์ž˜๋ชป๋œ ๊ณ„์ •์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฌธ์ œ๋ฅผ ์˜ˆ๋ฐฉํ•  ์ˆ˜ ์žˆ๋‹ค.

 

์ด์ œ Git ๊ณ„์ • ์„ค์ •์— ๋Œ€ํ•œ ๊ฑฑ์ •์„ ์ค„์ด๊ณ , ์ž‘์—…์— ๋”์šฑ ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค.

๋‹ค์Œ์—๋„ ์œ ์šฉํ•œ ๊นƒ ํŒ์œผ๋กœ ์ฐพ์•„์˜ค๋„๋ก ํ•˜๊ฒ ๋‹ค. ๐Ÿš€

๋ฐ˜์‘ํ˜•

๋ธ”๋กœ๊ทธ์˜ ์ •๋ณด

Dev_TIMI

its_TIMI

ํ™œ๋™ํ•˜๊ธฐ