ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

git

6. remote ์ €์žฅ์†Œ์— push, pull ํ•˜๊ธฐ

๋Œ•๋Œ•์ด๋ฐœ๐Ÿพ 2018. 4. 29. 02:36


์ €๋ฒˆ ํฌ์ŠคํŒ…์—์„œ ๋กœ์ปฌ์ €์žฅ์†Œ์™€ ๋ฆฌ๋ชจํŠธ ์ €์žฅ์†Œ๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ์ž‘์—…๊นŒ์ง€ ํ–ˆ๋‹ค. 


github ์‚ฌ์ดํŠธ์—์„œ ๋‚ด๊ฐ€ ๋งŒ๋“  ์ €์žฅ์†Œ์—๋Š” ์•„์ง ์•„๋ฌด commit๋„ ๋“ค์–ด์žˆ์ง€ ์•Š๊ธฐ๋•Œ๋ฌธ์— ์šฐ๋ฆฌ๊ฐ€ github ์‚ฌ์ดํŠธ์—์„œ ๋‹ค๋ฅธ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ๋ณผ ๋•Œ ๋‚˜์˜ค๋Š” ํ™”๋ฉด์€ ์•ˆ๋‚˜์˜ค๊ณ  ์žˆ๋‹ค. ๊ฑฐ๋‘์ ˆ๋ฏธํ•˜๊ณ  ๋ฐ”๋กœ ๋ณธ๋ก ์œผ๋กœ ๋“ค์–ด๊ฐ€์ž.



***PUSH / PULL***


์›๊ฒฉ ์ €์žฅ์†Œ๋ฅผ ๋‹ค๋ฃจ๋Š” ๋ช…๋ น์–ด์ค‘์— ๊ฐ€์žฅ ๋งŽ์ด ์“ฐ์ด๋Š” ๋ช…๋ น์–ด๊ฐ€ ์•„๋‹๊นŒ ์‹ถ๋‹ค. ์•„์ฃผ ๊ฐ„๋‹จํ•˜๊ฒŒ ๋งํ•˜์ž๋ฉด


PUSH : ๋กœ์ปฌ => ์›๊ฒฉ

PULL : ์›๊ฒฉ => ๋กœ์ปฌ


์˜ ๋ฐฉํ–ฅ์œผ๋กœ commit ์„ ๋ณต์‚ฌ? ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. (๋ณต์‚ฌ๋ผ๊ณ  ์จ์•ผํ• ์ง€๋Š” ์ž˜ ๋ชจ๋ฅด๊ฒ ๋‹ค. ์ด ๋ช…๋ น์–ด ์ˆ˜ํ–‰ ํ›„์— ์›๊ฒฉ์ด๋“  ๋กœ์ปฌ์ด๋“  ๊ธฐ๋ก์ด ๋‘˜ ๋‹ค ๊ทธ๋Œ€๋กœ ๋‚จ์•„์žˆ์œผ๋‹ˆ ๋ณต์‚ฌ๋ผ๋Š” ๋‹จ์–ด๋กœ ์‚ฌ์šฉํ–ˆ๋‹ค.)

๋น„์œ ํ•˜์ž๋ฉด ๋‚ด ํ•˜๋“œ๋””์Šคํฌ์— ์žˆ๋Š” ์‚ฌ์ง„์„ ์›น์‚ฌ์ดํŠธ์— ์—…๋กœ๋“œ ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

๊ทธ๋ ‡๊ฒŒ ๋˜๋ฉด ๋‚จ๋“ค๋„ ๋‚ด ์‚ฌ์ง„์„ ๋ณด๋Š”๊ฒŒ ๊ฐ€๋Šฅํ•ด์งˆํ…Œ๊ณ  ๋‚ด ์‚ฌ์ง„์ด ํ•„์š”ํ•˜๋ฉด ๊ฐ–๋‹ค ์“ธ ๊ฒƒ์ด๋‹ค.


์ฝ”๋“œ ๋˜ํ•œ ๋งˆ์ฐฌ๊ฐ€์ง€๋‹ค. ์ €์žฅ์€ commit ๋‹จ์œ„๋กœ ๋œ๋‹ค.



$ git push origin [์›๊ฒฉ ๋ธŒ๋Ÿฐ์น˜๋ช…]

$ git pull origin [์›๊ฒฉ ๋ธŒ๋Ÿฐ์น˜๋ช…] 


์ผ๋‹จ ๋ช…๋ น์–ด์˜ ๊ธฐ๋ณธ ํ˜•์‹์€ ์ด๋ ‡๋‹ค. push๋ถ€ํ„ฐ ์ˆœ์„œ๋Œ€๋กœ ์„ค๋ช…ํ•˜์ž๋ฉด

- ๋‚ด ๋กœ์ปฌ ์ €์žฅ์†Œ์— ์žˆ๋Š” commit์„ ์›๊ฒฉ ์ €์žฅ์†Œ์— ์žˆ๋Š” ๋ธŒ๋Ÿฐ์น˜์— ๋ณต์‚ฌํ•˜๊ฒ ๋‹ค.

- ๋‚ด ์›๊ฒฉ ์ €์žฅ์†Œ์— ์žˆ๋Š” commit์„ ๋กœ์ปฌ์ €์žฅ์†Œ์— ๋ณต์‚ฌํ•˜๊ฒ ๋‹ค.



push ๋ช…๋ น์–ด๋ฅผ ์ˆ˜ํ–‰ํ•œ ํ›„์˜ ๋ชจ์Šต์ด๋‹ค. 


git push origin develop ์ด๋ผ๊ณ  ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์˜€๋Š”๋ฐ ๋‚ด ์›๊ฒฉ์ €์žฅ์†Œ์— ์žˆ๋Š” branch๋ช…์ด develop ์ด๋ผ ๊ทธ๋ ‡๋‹ค. 

์ฐธ๊ณ ๋กœ ์ด์ „ ํฌ์ŠคํŒ…์—์„œ ๋‚ด๊ฐ€ ๋“ฑ๋กํ–ˆ๋˜ ์ €์žฅ์†Œ์— ์žˆ๋Š” branch ์ด์—ฌ์•ผ๋งŒ ํ•œ๋‹ค. 

๋”ฐ๋กœ ์ƒ์„ฑํ•˜์ง€ ์•Š์œผ๋ฉด ์•„๋งˆ master๊ฐ€ ๋””ํดํŠธ๋กœ ์žˆ์„ ๊ฒƒ์ด๋‹ค.


๋‚ด๊ฐ€ ํ˜„์žฌ ์ž‘์—…ํ•˜๊ณ  ์žˆ๋Š” ๋กœ์ปฌ branch์˜ commit ๋‚ด์—ญ์„ ์›๊ฒฉ์ €์žฅ์†Œ develop branch์— ๋ณต์‚ฌํ•˜๊ฒ ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ๊ทธ๋ ‡๊ฒŒ ๋˜๋ฉด



์ด์ „์—๋Š” ๋‚ด ์ €์žฅ์†Œ ํŽ˜์ด์ง€์—๋Š” ์‚ฌ์šฉ์„ค๋ช…์„œ๊ฐ™์€ ๊ฒƒ๋งŒ ์ญ‰ ๋‚˜์—ด๋˜์–ด์žˆ์—ˆ๋Š”๋ฐ ์ด์ œ๋Š” ์ด๋ ‡๊ฒŒ ๋‚ด๊ฐ€ git์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ณ  ์žˆ๋Š” ๋””๋ ‰ํ† ๋ฆฌ์˜ ๋ชจ๋“  ํŒŒ์ผ๋“ค์ด github ์‚ฌ์ดํŠธ์— ์˜ฌ๋ผ๊ฐ„ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.


pull ๋ช…๋ น์–ด ๋˜ํ•œ push๋ž‘ ํฌ๊ฒŒ ๋‹ค๋ฅด์ง€ ์•Š๋‹ค. ๋‹จ์ง€ ๋ฐฉํ–ฅ์„ฑ์ด ๋‹ค๋ฅผ ๋ฟ์ด๋‹ค.



๋‚ด๊ฐ€ ์ด์ „์— ํฌ์ŠคํŒ… ํ–ˆ๋˜ ๊ธ€์— ์žˆ๋Š” ์ž๋ฃŒ ์ค‘์— ํ•˜๋‚˜์ธ๋ฐ, 'push์™€ pull๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ํŒจํ„ด์ด ์ด๋ ‡๊ฒŒ๋„ ํ•œ๋‹ค.' ๋ผ๊ณ  ์„ค๋ช…ํ•œ ๊ฒƒ์ด๋‹ค.


์ €๊ฑด ๋‚ด ๋กœ์ปฌ์ €์žฅ์†Œ์˜ branch ์ƒํƒœ๋ผ๊ณ  ๊ฐ€์ •ํ•˜๊ณ  ํŒ€์› ํ•œ ๋ช…๊ณผ ๊ฐ™์ด ์ž‘์—… ์ค‘์ด๋ผ๊ณ  ๊ฐ€์ •ํ•˜์ž.

์›๊ฒฉ์ €์žฅ์†Œ์˜ branch๋Š” ๋กœ์ปฌ์ €์žฅ์†Œ์— ์žˆ๋Š” 3๊ฐœ์˜ branch ์™€ ํŒ€์›์˜ branch ํ•œ ๊ฐœ๊ฐ€ ๋” ์กด์žฌ ํ•  ๊ฒƒ์ด๋‹ค. 

๊ทธ branch๋Š” partner๋ผ๊ณ  ์ง€์นญํ•˜๊ฒ ๋‹ค.


1. ๋‚˜๋Š” develop_name ์—์„œ ํ‰์†Œ์— ์ž‘์—…์„ ํ•œ๋‹ค. ๊ทธ๋Ÿผ ํ•ด๋‹น branch์˜ commit ๋‚ด์—ญ์ด ์ญ‰์ญ‰ ์Œ“์ผ ๊ฒƒ์ด๋‹ค. 


2. ๋‚ด๊ฐ€ ์ž‘์—…ํ•œ ๋‚ด์—ญ์„ push ํ•  ๊ฒƒ์ด๋‹ค. ์›๊ฒฉ์ €์žฅ์†Œ์˜ branch_name ์ด๋ผ๋Š” branch์— push ํ•  ๊ฒƒ์ด๋‹ค.


3. ๋‚ด ํŒ€์›์€ partner ๋ผ๋Š” branch ์— push ํ•  ๊ฒƒ์ด๋‹ค. ๊ทธ๋Ÿผ ๋‘˜ ์˜ ์ฝ”๋“œ๊ฐ€ ๋…๋ฆฝ์ ์œผ๋กœ ์กด์žฌํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ์ด๋‹ค.


4. ๋‘ ๋ช…์˜ branch์˜ ์ตœ๊ทผ commit ๋‚ด์—ญ์„ ํ†ตํ•ฉ์‹œํ‚จ๋‹ค. (pull request๋ผ๊ณ  ํ•˜๋Š”๋ฐ ๋‹ค์Œ์— ์„ค๋ช…ํ•˜๊ฒ ๋‹ค.) ๊ทธ ํ†ตํ•ฉ๋œ ๋‚ด์šฉ์€ develop ๋ผ๋Š” branch์— ์ €์žฅํ•œ๋‹ค.


5. develop ์ด๋ผ๋Š” branch์— ์žˆ๋Š” commit์€ ๋‘๋ช…์ด ์ž‘์—…ํ•œ ๊ฒฐํ•ฉ๋ฌผ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” branch๊ฐ€ ๋˜๋Š” ๊ฒƒ์ด๋‹ค. ๊ทธ๋Ÿผ ๋‚˜๋Š” ์ด ๊ฒฐํ•ฉ๋ณธ์„ ๋‚ด ๋กœ์ปฌ ์ €์žฅ์†Œ์— ๊ฐ€์ ธ์™€์•ผํ•œ๋‹ค. ํ†ตํ•ฉ๋ณธ์„ ๊ธฐ์ค€์œผ๋กœ ๋‹ค์‹œ ์ž‘์—…ํ•ด์•ผ ํŒ€ํ”Œ์˜ ์˜๋ฏธ๊ฐ€ ์žˆ๋Š” ๊ฒƒ์ด๋‹ˆ ๋ง์ด๋‹ค.


6. ๋‚ด ๋กœ์ปฌ ์ €์žฅ์†Œ์— develop์ด๋ผ๋Š” branch์— ํ†ตํ•ฉ๋ณธ commit์„ ๊ฐ€์ ธ์™€์•ผํ•œ๋‹ค. ์ด๋•Œ pull ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ํ˜„์žฌ ๋‚ด๊ฐ€ ๋กœ์ปฌ์ €์žฅ์†Œ์—์„œ checkout ๋˜์–ด์žˆ๋Š” branch๋ฅผ ์ž˜ ํ™•์ธํ•˜์ž. ํ†ตํ•ฉ๋ณธ๋งŒ์„ ์ €์žฅํ•  ๋ธŒ๋Ÿฐ์น˜์— checkout ๋˜์–ด์žˆ์–ด์•ผํ•œ๋‹ค. (๋‚˜๋Š” develop)

$ git pull origin develop ์™€ ๊ฐ™์ด ์‚ฌ์šฉํ•œ๋‹ค. 


7. ๋‚ด ๋กœ์ปฌ์ €์žฅ์†Œ์˜ develop_name ์ด๋ผ๋Š” branch ๋Š” ์•„์ง ๋‚ด๊ฐ€ ํ˜ผ์ž ์ž‘์—…ํ•œ ์ž‘์—…๋ฌผ๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ์žˆ๋‹ค. 

develop ์ด๋ผ๋Š” branch ์—๋Š” ํŒ€์›๊ณผ์˜ ์ฝ”๋“œ๋ฅผ ํ†ตํ•ฉํ•œ ์ž‘์—…๋ณธ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. 

$ git checkout develop_name ๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ๋‚ด ์ž‘์—…๋ฌผ์„ ๋ณด๊ด€ํ•˜๋Š” branch๋กœ ์ด๋™ ํ›„ 

$ git merge develop    ๋ฅผ ์ž…๋ ฅํ•ด์ค€๋‹ค. 

๋‚ด ์ „์šฉ ์ž‘์—… branch์— ํŒ€์›๊ณผ์˜ ํ†ตํ•ฉ ์ฝ”๋“œ๋ฅผ ๋ณ‘ํ•ฉ์‹œํ‚ค๋Š” ๊ฒƒ์ด๋‹ค. ์ง€๊ธˆ ์ƒํƒœ๋Š” develop๊ณผ develop_name ์ด ์™„์ „ ๋™์ผํ•œ ์ƒํƒœ์ด๋‹ค.


8. ๋‚˜๋Š” ์ด์ œ develop_name ์˜ branch์—์„œ ํ‰์†Œ๋Œ€๋กœ ์ž‘์—…์„ ํ•ด์ฃผ๋ฉด ๋˜๋Š” ๊ฒƒ์ด๊ณ , ํŒ€์›๊ณผ์˜ ์ฝ”๋“œ ๊ณต์œ  ์‹œ ์œ„์˜ ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•œ๋‹ค.



๋˜‘๊ฐ™์€ ์ฝ”๋“œ๋ฅผ ์™œ ์—ฌ๋Ÿฌ branch์— ๋‹ด์œผ๋ ค๊ณ  ํ•˜๋Š”์ง€ ์ž˜ ์ดํ•ด๊ฐ€ ์•ˆ๊ฐˆ ์ˆ˜๋„์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ž‘์—…์„ ํ•˜๋‹ค๋ณด๋ฉด ๋Œ์ดํ‚ค๊ธฐ ํž˜๋“ค๋งŒํ•œ ์ผ์ด ์ƒ๊ธธ ์ˆ˜๋„ ์žˆ๊ณ , ์ฝ”๋“œ๋ฅผ ๋ฐ”๊ฟง๋”๋‹ˆ ์˜ค๋ฅ˜๊ฐ€ ๋‚˜์„œ ๊ณผ๊ฑฐ์˜ ์ฝ”๋“œ๋‚ด์šฉ์ด ํ•„์š”ํ•  ์ˆ˜๊ฐ€ ์žˆ๋‹ค. ๊ทธ ์™ธ์— ๋งŽ์€ ์ด์œ ๋“ค์ด ์žˆ์„ ๊ฒƒ์ด๋‹ค.


์•„๊นŒ ์œ„์—์„œ pull request ๋ผ๋Š” ์šฉ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์˜€๋Š”๋ฐ ์‰ฝ๊ฒŒ๋งํ•˜๋ฉด ์ด๊ฑด ์›๊ฒฉ์ €์žฅ์†Œ์—์„œ ์“ฐ์ด๋Š” merge๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค.

์ถฉ๋Œ๊ณผ ๊ฐ™์€ ์ผ์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š” ์ด์ƒ ์ด ํŒจํ„ด ๋Œ€๋กœ๋งŒ ํ•˜๊ฒŒ๋˜๋ฉด ํŒ€์› ๊ฐ„์˜ ์ฝ”๋“œ๊ณต์œ ๊ฐ€ ๊ฐ€๋Šฅํ•ด์ง„๋‹ค.

(ํ•˜์ง€๋งŒ ์ถฉ๋Œ์ด ์ฐธ ๋งŽ์ด ์ผ์–ด๋‚˜๋Š”๊ฒŒ ํ•จ์ •์ด๋‹ค ใ…‹ใ…‹)

๋Œ“๊ธ€
๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
Total
Today
Yesterday
๋งํฌ
ยซ   2024/11   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
๊ธ€ ๋ณด๊ด€ํ•จ