๐Ÿ’œ๊ฐœ๋ฐœ๊ณผ ์ผ์ƒ (โ‰ง∇โ‰ฆ)๏พ‰

github์—์„œ ์ถฉ๋Œ์€ ์™œ ์ผ์–ด๋‚˜๋Š” ๊ฒƒ์ผ๊นŒ? ํ•œ ๋ฒˆ ์‹ค์Šตํ•ด๋ณด๊ธฐ. ๋ณธ๋ฌธ

web/git

github์—์„œ ์ถฉ๋Œ์€ ์™œ ์ผ์–ด๋‚˜๋Š” ๊ฒƒ์ผ๊นŒ? ํ•œ ๋ฒˆ ์‹ค์Šตํ•ด๋ณด๊ธฐ.

๊ฐ•์˜์„œ 2023. 3. 24. 17:33

ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋‹ค๋ณด๋ฉด ๋ช‡์ฒœ์ค„, ๋ช‡๋ฐฑ์ค„์˜ ์ฝ”๋“œ๊ฐ€ ์žˆ๋Š”๋ฐ ์ถฉ๋Œ์ด ์ผ์–ด๋‚  ๊ฒฝ์šฐ ์–ด๋–ป๊ฒŒ ์ ์šฉํ•ด์•ผํ• ๊นŒ?

 

ํŒ€ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋‹ค๋ณด๋ฉด ์—ฌ๋Ÿฌ ์‚ฌ๋žŒ๊ณผ ๊ฐœ๋ฐœํ•œ ์ฝ”๋“œ ์ผ๋ถ€๋ถ„์ด ์ถฉ๋Œ(comflict)ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.

๋Œ€๋ถ€๋ถ„์˜ ์ถฉ๋Œ ์›์ธ์€ ๊ฐ™์€ ์œ„์น˜์— ์žˆ๋Š” ์ฝ”๋“œ๋ฅผ ๋™์‹œ์— ์ˆ˜์ •ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์›์ธ์ด๋‹ค.

๊ฐ™์€ ์œ„์น˜๋ฅผ ๋™์‹œ์— ์ˆ˜์ •ํ•˜๋ฉด ๋‘ ์ˆ˜์ • ์‚ฌํ•ญ ์ค‘์—์„œ ์–ด๋–ค ๊ฒƒ์„ ๋ ˆํฌ์ง€ํ† ๋ฆฌ์— ์ ์šฉํ•ด์•ผ ํ• ์ง€ git ๋‚ด์—์„œ๋Š” ํ™•์ธํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ, ๊นƒ์€ ์ถฉ๋Œ ์˜ค๋ฅ˜๋ผ๊ณ  ์•Œ๋ ค ์ฃผ๊ณ , ๊ฐœ๋ฐœ์ž์—๊ฒŒ ์ง์ ‘ ์ˆ˜์ •ํ•˜์—ฌ ์ถฉ๋Œ์—์„œ ์–ด๋–ค ๊ฒƒ์„ ์ ์šฉํ•ด์•ผํ•  ์ง€ ์„ ํƒ์„ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค

 

 

์ถฉ๋Œ ํ•ด๊ฒฐํ•˜๊ธฐ 

๋จผ์ €, ์ถฉ๋Œ์„ ํ•ด๊ฒฐํ•˜๊ธฐ์œ„ํ•ด์„œ๋Š” Visual studio Code๋ฅผ ํ™œ์šฉํ•˜๋ฉด ์ข‹์Šต๋‹ˆ๋‹ค. 

 

๋จผ์ € ์ƒˆ ๋ ˆํฌ์ง€ํ† ๋ฆฌ์—์„œ ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰ํ•ด๋ด…์‹œ๋‹ค.

๊ฐœ์ธ ๋ ˆํฌ์—์„œ new ๋ฒ„ํŠผ์„ ํ†ตํ•ด์„œ ์ƒˆ๋กœ ๋ ˆํฌ๋ฅผ ํŒŒ๋ด…๋‹ˆ๋‹ค.

 

์ €๋Š” ํ•ด๋‹น ๋ ˆํฌ์˜ ReadME์— ๋Œ€ํ•œ ๋ณ€๊ฒฝ์‚ฌํ•ญ์˜ ์ถฉ๋Œ์„ ํ•ด๊ฒฐํ•˜๋Š” ์‹ค์Šต์„ ์ง„ํ–‰ํ•ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์ƒˆ๋กœ ๋งŒ๋“  ๋ ˆํฌ์˜ ๊นƒ ์ฃผ์†Œ๋ฅผ ๋ฐ›์•„์˜ต๋‹ˆ๋‹ค. ์ด๋ฅผ ๊ฐœ์ธ ๋กœ์ปฌ ํ™˜๊ฒฝ์—์„œ clone์„ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

git clone [๋ณธ์ธ git ์ฃผ์†Œ]

visual studio code๋กœ cloneํ•œ git ํด๋”๋ฅผ open ํ•˜๊ณ  vscode ๋‚ด Terminal ์ฐฝ์„ ํ™œ์šฉํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๋ณธ ์‹ค์Šต์€ ๋‘ ๊ฐœ์˜ ๋ธŒ๋žœ์น˜๋ฅผ ํ™œ์šฉํ•ด์„œ ์ถฉ๋Œ์„ ์—ฐ์Šตํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. 

๋จผ์ €, issue1 issue2 ๋ธŒ๋žœ์น˜ 2๊ฐœ๋ฅผ ๋งŒ๋“ค๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. 

 

์ฒซ๋ฒˆ์งธ๋กœ issue1 ๋ธŒ๋žœ์น˜๋ฅผ ๋งŒ๋“ค๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

git branch issue1
git checkout issue1

issue1 ๋ธŒ๋žœ์น˜์˜ ๊ฒฝ์šฐ๋Š” README๋ฅผ ์ˆ˜์ •ํ•˜๊ณ  commit์„ ํ•ฉ๋‹ˆ๋‹ค.

git add .
git commit -m "[์ฝ”๋ฉ˜ํŠธ]"

 

๋‘๋ฒˆ์งธ๋กœ๋Š” issue2 ๋ธŒ๋žœ์น˜๋ฅผ ๋งŒ๋“ค๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

git branch issue2
git checkout issue2

issue2 ๋ธŒ๋žœ์น˜์˜ ๊ฒฝ์šฐ๋Š” issue1์™€ ๋‹ค๋ฅธ ๋‚ด์šฉ์˜ README๋ฅผ ์ˆ˜์ •ํ•˜๊ณ  ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ commit์„ ํ•ฉ๋‹ˆ๋‹ค.

git add .
git commit -m "[์ฝ”๋ฉ˜ํŠธ]"

 

main ๋ธŒ๋žœ์น˜์™€ issue2 ๋ธŒ๋žœ์น˜๋ฅผ ํ•ฉ๋ณ‘ํ•ด๋ณด๋„๋ก ํ•ฉ์‹œ๋‹ค.

git checkout main
git merge issue2

๊ทธ๋ ‡๋‹ค๋ฉด main ๋ธŒ๋žœ์น˜์˜ README ์ˆ˜์ •์€ ์ด๋ ‡๊ฒŒ ๋ณ€๊ฒฝ์ด ๋ฉ๋‹ˆ๋‹ค.

 

main ๋ธŒ๋žœ์น˜์™€ issue2 ๋ธŒ๋žœ์น˜๋ฅผ ํ•ฉ๋ณ‘ํ•ด๋ณด๋„๋ก ํ•ฉ์‹œ๋‹ค. ํ•˜์ง€๋งŒ ์ถฉ๋Œ ์ƒํ™ฉ์ด ์ƒ๊น๋‹ˆ๋‹ค.

 

๊ทธ๋ ‡๋‹ค๋ฉด, vscode์—์„œ ์ถฉ๋Œ ์‚ฌํ•ญ์— ๋Œ€ํ•œ ํ™•์ธ์„ ํ•ด๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‘ ๊ฐ€์ง€ ๋ธŒ๋žœ์น˜์—์„œ ์–ด๋–ค ๊ฐ’์„ ๋ณ€๊ฒฝํ•  ์ง€์— ๋Œ€ํ•œ ์„ ํƒ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์ „ ๊ธฐ์กด ๊ฐ’์„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๋„๋ก Accept Current Change๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

๋งˆ์ง€๋ง‰์œผ๋กœ ์ตœ์ข… ํ™•์ธ ํ›„ Complete Merge๋ฅผ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

 

์ดํ›„ ์ถฉ๋Œ ๋ถ€๋ถ„์„ ๋‹ค์‹œ github repository์— push ํ•ฉ๋‹ˆ๋‹ค.

git add .
git commit -m "[์ฝ”๋ฉ˜ํŠธ ์ž‘์„ฑ]"
git push origin main

 

 

์‹ค์ œ ์—…๋ฐ์ดํŠธ ๋œ ๊นƒํ—ˆ๋ธŒ ๋ ˆํฌ์ง€ํ† ๋ฆฌ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

 

ํ•ด๋‹น ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•˜์—ฌ ์—ฌ๋Ÿฌ ํŒ€์›๊ณผ์˜ ๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ•  ๋•Œ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ์‹œ๋‹ค.

'web > git' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Github] repository๋ฅผ private๋กœ ๋ฐ”๊พธ๊ธฐ  (0) 2022.08.20