728x90

๊นƒํ—ˆ๋ธŒ๋ฅผ ํ”„๋กœ์ ํŠธ ์ €์žฅํ•˜๋Š” ํด๋ผ์šฐ๋“œ๋กœ๋งŒ ์ผ๋‹ค๊ฐ€ ์ด์ œ์•ผ ์กฐ๊ธˆ์ด๋‚˜๋งˆ ์ดํ•ดํ•˜๋Š” ๊ณผ์ •์—์„œ ์ •๋ฆฌํ•œ ๊ธ€

 

 

 

Git ๋ฒ„์ „๊ด€๋ฆฌ ์ง€์› ์‹œ์Šคํ…œ

Github Git ์ €์žฅ์†Œ ํ˜ธ์ŠคํŒ…์„ ์ง€์›ํ•˜๋Š” ์›น ์„œ๋น„์Šค

 

ํŒ€ ๋‹จ์œ„ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋ฉด์„œ ๋ฒ„์ „๊ด€๋ฆฌ ํˆด์€ ์•ˆ์จ๋ดค๋”๋ผ๋„ ์ฝ”๋“œ ํ˜•์ƒ๊ด€๋ฆฌ๋Š” ๋‚˜๋ฆ„๋Œ€๋กœ ํ•ด๋ดค๋Š”๋ฐ, ๊ทธ ๊ท€์ฐฎ์€ ์ผ์„ ๋œ ๊ท€์ฐฎ๊ฒŒ ๋„์™€์ฃผ๋Š” ๊ฒŒ ๊นƒ. ๊ทธ๋ฆฌ๊ณ  ๋ฉ”์ธ ์ €์žฅ์†Œ๋ฅผ ๋ฌด๋ฃŒ๋กœ(!) ์ œ๊ณตํ•ด์ฃผ๋Š” ์›น ์„œ๋น„์Šค๊ฐ€ ๊นƒํ—ˆ๋ธŒ.

 

์ •์˜๋Š” ์ด๋ฏธ ์•Œ๊ณ  ์žˆ๋‹ค. ๋ฌธ์ œ๋Š” ๋ช…๋ น์–ด์˜ ์˜๋ฏธ์™€ ์‚ฌ์šฉ๋ฒ•์„ ์ •ํ™•ํžˆ ๋ชจ๋ฅธ๋‹ค๋Š” ๊ฒƒ์ด์—ˆ๋‹ค. ํ˜ผ์ž ํ”„๋กœ์ ํŠธํ•˜๋ฉด์„œ ๊ธฐ๊ณ„์ ์œผ๋กœ commit์„ pushํ•˜๊ณ  PRํ—ˆ๋ฝ ํ•˜๊ณ  Mergeํ•˜๋Š” ๊ฒŒ ๋‹ค์˜€์Œ. ๊ทธ๋Ÿฐ ๊ด€๊ณ„๋กœ ์ด ๊ธ€๋„ ๋‚ด๊ฐ€ ์ดํ•ดํ•œ ๋งŒํผ๋งŒ ์ •๋ฆฌํ•œ ๊ฑฐ๋ผ ์ •ํ™•ํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Œ.

 

 

 

๊ธฐ๋ณธ ๊ฐœ๋…๊ณผ ์ฃผ์š” ํ‚ค์›Œ๋“œ

 

Remote

๋ฉ”์ธ ์ €์žฅ์†Œ. ๊นƒํ—ˆ๋ธŒ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ๊นƒํ—ˆ๋ธŒ์˜ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ์˜๋ฏธํ•จ

 

Local

๋‚ด๊ฐ€ ์ž‘์—…ํ•  ์ €์žฅ์†Œ. ์—ฌ๋Ÿฌ ๋ช…์ด ๋ฉ”์ธ ์ €์žฅ์†Œ๋ฅผ ๊ฑด๋“œ๋ฆฌ๋ฉด ์ฝ”๋“œ๊ฐ€ ์™€์žฅ์ฐฝ ๋˜์–ด๋ฒ„๋ฆฌ๋‹ˆ๊นŒ ๊ฐ์ž ๋ฉ”์ธ์—์„œ ์ฝ”๋“œ ๋ฐ›์•„๋‹ค๊ฐ€ ์ž‘์—…ํ•œ ๋’ค ์ž‘์—…๋ฌผ์„ ๋‹ค์‹œ ๋ฉ”์ธ์—๋‹ค๊ฐ€ ํ•ฉ์นจ

 

Clone

๋‹ค๋ฅธ ์ €์žฅ์†Œ๋ฅผ ํ˜„์žฌ ์ž‘์—…๊ณต๊ฐ„์—๋‹ค๊ฐ€ ๋ฐ›์•„์˜ค๋Š” ๊ณผ์ •. ํ”„๋กœ์ ํŠธ์˜ ์‹œ์ž‘์€ ์—ฌ๊ธฐ์„œ๋ถ€ํ„ฐ๋ผ๊ณ  ๋ณด๋ฉด ๋จ (๋ฉ”์ธ ์ €์žฅ์†Œ๊ฐ€ ์ด๋ฏธ ์žˆ๋‹ค๋ฉด). Cloneํ•œ ๋’ค์—๋Š” ๋‚ด ์ปค๋ฐ‹์„ pushํ•  ๋ธŒ๋žœ์น˜๋ฅผ ๋งŒ๋“ค์–ด์ค€๋‹ค.

 

Commit

๋ณ€๊ฒฝ ์ด๋ ฅ. ์ž‘์—… ๋‚ด์—ญ

 

Pull

๋‹ค๋ฅธ ์ €์žฅ์†Œ์˜ ๋ณ€๊ฒฝ ์ด๋ ฅ์„ ํ˜„์žฌ ์ €์žฅ์†Œ์— ๊ฐ€์ ธ์˜ค๋Š” ๊ณผ์ •. (Clone์€ ์ €์žฅ์†Œ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๊ฑฐ๊ณ , Pull์€ ๋ณ€๊ฒฝ ์ด๋ ฅ์„ ๋ฐ˜์˜ํ•˜๋Š” ๊ฒƒ) ๋ณ€๊ฒฝ ์ด๋ ฅ์„ ๊ฐ€์ ธ์˜ค๊ธฐ๋งŒ ํ•˜๋ฉด Fetch. ํ˜„์žฌ ์ €์žฅ์†Œ์—๋‹ค๊ฐ€ ํ•ฉ์น˜๋ฉด Merge

 

Push

Local์˜ commit์„ Remote์— ๋ณด๋‚ด๋Š” ๊ณผ์ • 

 

PR (Pull Request)

์ด๋ฆ„ ํ—ท๊ฐˆ๋ ค์„œ ์ฒ˜์Œ์— ์ดํ•ด ๋ชปํ•œ ํ‚ค์›Œ๋“œ. ๋‚ด๊ฐ€ pushํ•  ๋•Œ ๋ณด๋‚ด๋Š”๋ฐ ์™œ pull req๋ผ๊ณ  ํ•ด์š”??  ๋ฉ”์ธ ๋ธŒ๋žœ์น˜๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ๋ธŒ๋žœ์น˜์—์„œ "์ œ ์ปค๋ฐ‹์„ Pull ํ•ด์ฃผ์„ธ์š”" ๋ผ๊ณ  ๋ฉ”์ธ์—๊ฒŒ ์š”์ฒญํ•˜๋Š” ๊ฒƒ์„ PR์ด๋ผ๊ณ  ํ•œ๋‹ค.

 

 

 

๋ธŒ๋žœ์น˜ Branch

๊ฐœ๋…์€ ์œ„์—์„œ Local ์„ค๋ช…ํ•  ๋•Œ ํ–ˆ๋˜ ๊ฑฐ๋ž‘ ๋น„์Šทํ•˜๋‹ค. ๋ฉ”์ธ์—์„œ ๊ฐ์ž ๋งก์€ ๋ถ€๋ถ„์„ ๊ฑด๋“œ๋ฆฌ๊ฑฐ๋‚˜ ํ…Œ์ŠคํŠธํ•  ๋•Œ ์„œ๋กœ์—๊ฒŒ ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์ง„ ๋ฐฉ์‹. (๋ฌผ๋ก  ๋‚˜์ค‘์— ํ†ตํ•ฉ๋„ ๊ฐ€๋Šฅํ•ด์•ผ ํ•˜๊ณ .) ๋ธŒ๋žœ์น˜ ์ž์ฒด๋Š” ๋ฉ”์ธ ์ €์žฅ์†Œ์˜ ๋ณต์‚ฌ๋ณธ๊ณผ ๊ทธ๊ณณ์—์„œ ์ƒ๊ธด ์ปค๋ฐ‹์„ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๋‹จ์œ„? ๋ผ๊ณ  ์ƒ๊ฐํ•จ. ๋ธŒ๋žœ์น˜๋Š” ๊ธฐ๋Šฅ๋ณ„๋กœ ๋งŒ๋“ค๊ธฐ๋„ ํ•˜๊ณ  ๋กœ์ปฌ๋ณ„๋กœ ๋งŒ๋“ค๊ธฐ๋„ ํ•˜๊ณ ...

 

๋ณดํ†ต Git ์‚ฌ์šฉํ•œ๋‹ค๊ณ  ํ•  ๋•Œ ๊ฐ€์žฅ ๋ฌธ์ œ๊ฐ€ ๋˜๋Š” ๋ถ€๋ถ„์ด ๋ธŒ๋žœ์น˜ ์ถฉ๋Œ์ด๋‹ค. ์ ์–ด๋„ ๋‚ด๊ฐ€ ๊ฒฝํ—˜ํ•œ ๋Œ€๋ถ€๋ถ„์˜ ๋ฌธ์ œ๋Š” ์ด๊ฑฐ์˜€๋‹ค.

 

1. (Remote๊ฐ€ ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ) Remote Repo๊ฐ€ ๋ฉ”์ธ์ด๋ฏ€๋กœ ํ”„๋กœ์ ํŠธ ์‹œ์ž‘ ์‹œ ๋ฐ˜๋“œ์‹œ Local์— Remote Repo Clone๋ถ€ํ„ฐ ํ•˜๊ธฐ. ์•„์ฃผ ๊ธฐ์ดˆ์ ์ธ ๋ถ€๋ถ„์ธ๋ฐ ์ตœ๊ทผ๊นŒ์ง€๋„ ๋ชจ๋ฅด๊ณ  ์žˆ์—ˆ๋‹ค.

 

2. Local ๋ธŒ๋žœ์น˜์—์„œ Remote ๋ธŒ๋žœ์น˜๋กœ Pushํ•˜๊ธฐ ์ „์—๋Š” ๊ผญ Remote์˜ ๋ณ€๊ฒฝ ์ด๋ ฅ์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ณ  Local ๋ฐ˜์˜ํ•ด์ค˜์•ผ ํ•œ๋‹ค. ๊ทธ๋ž˜์•ผ Local์˜ commit์„ Mergeํ•  ์ˆ˜ ์žˆ์œผ๋‹ˆ๊นŒ! Remote๋กœ๋ถ€ํ„ฐ Pull (๋˜๋Š” Fetch&Merge) ํ•œ ๋’ค Pushํ•˜๊ธฐ

 

3. ๋งŒ์•ฝ 2๋ฅผ ์ˆ˜ํ–‰ํ•˜๋˜ ์ค‘, Remote์˜ ๋ณ€๊ฒฝ ๋‚ด์—ญ๊ณผ Local์˜ ๋ณ€๊ฒฝ๋‚ด์—ญ์ด ๊ฐ™์€ ํ–‰์—์„œ ์ผ์–ด๋‚ฌ๋‹ค๋ฉด Merge๊ฐ€ ์ˆ˜ํ–‰๋˜์ง€ ์•Š๋Š”๋‹ค. ์ด๋Ÿฐ ๊ฒฝ์šฐ ํ•ด๋‹น ๋ถ€๋ถ„์„ ์–ด๋–ป๊ฒŒ ํ†ต์ผํ• ๊ฒƒ์ธ์ง€ ํ•ฉ์˜ํ•œ ๋’ค ์ฒ˜๋ฆฌํ•ด์•ผ ํ•จ.

 

 

 

ํฌํฌ Fork

์œ ๋‹‰์Šค ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฐ์šธ ๋•Œ ๋ดค๋˜ ํ‚ค์›Œ๋“œ์ด๋‹ค. ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค์—์„œ ์ž์‹ ์„ ๋ณต์ œํ•œ ์ž์‹ ํ”„๋กœ์„ธ์Šค๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ์‹œ์Šคํ…œํ˜ธ์ถœ์ธ๋ฐ ์•„๋งˆ ๋น„์Šทํ•œ ์˜๋ฏธ์ผ ๊ฑฐ๋ผ ์ƒ๊ฐํ•จ.

 

์‰ฝ๊ฒŒ ๋งํ•ด ๊ณต๊ฐœ ํ”„๋กœ์ ํŠธ ์ €์žฅ์†Œ์—์„œ Cloneํ•˜๋Š” ๊ฒƒ์„ Fork๋ผ๊ณ  ํ•œ๋‹ค.

 

์†”์งํžˆ ๊ณต๊ฐœ ํ”„๋กœ์ ํŠธ์— ๊ธฐ์—ฌํ•ด๋ณธ ์ ์ด ์—†์–ด์„œ ๊ฒฝํ—˜์„ ๋ชปํ•ด๋ณธ ๋ถ€๋ถ„์ด๋‹ค. ์ข€ ๋” ๊ณต๋ถ€ํ•ด๋ด์•ผ ํ•จ

 

 

 

TIP

commit message ์ž‘์„ฑ๋ฒ•

์ปค๋ฐ‹ ์š”์•ฝ
// ํ•œ ์ค„ ๋„๊ณ 
์ž์„ธํ•œ ์„ค๋ช…

 

ํ˜„์žฌํ˜•, ๋ช…๋ นํ˜• ํ‘œํ˜„์„ ์‚ฌ์šฉํ•˜์ž

added > add
updated > update

 

 

๊ทธ์™ธ

๋ธŒ๋žœ์น˜์˜ ๋ณ‘ํ•ฉ ๊ด€๋ฆฌ ๋ฐฉ๋ฒ•: rebase์™€ cherry-picker

Merge: fast-forward and non-fast-forward

Commit Options

์ด์ƒ์ ์ธ ๋ธŒ๋žœ์น˜ ์šด์šฉ ๋ชจ๋ธ

 

 

 


 

 

 

 - REF - 

๋”๋ณด๊ธฐ

728x90

+ Recent posts