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

๋ฐ˜์‘ํ˜•

๐ŸŽฏ Git Fork App์œผ๋กœ Git ์—ฐ์Šตํ•˜๊ธฐ_01

 

๐Ÿง‘๐Ÿป‍๐Ÿ’ป What - Git Fork๋ž€?

โ€‹

  • Git Fork๋Š” Git์„ ๋” ํŽธํ•˜๊ฒŒ ์“ฐ๊ธฐ ์œ„ํ•œ GUI ํ”„๋กœ๊ทธ๋žจ์ด์—์š”. Source Tree๋ผ๋Š” ์•ฑ์ด ๋งค์šฐ ์œ ๋ช…ํ•˜๊ณ , ๋งŽ์€ ๋ถ„๋“ค์ด ์‚ฌ์šฉํ•˜๊ณ  ๊ณ„์…”์„œ ์ž๋ฃŒ๊ฐ€ ๋งŽ์ง€๋งŒ Git Fork๋Š” ์ž๋ฃŒ๊ฐ€ ๋งŽ์ง€ ์•Š์•„์„œ ๋ธ”๋กœ๊น…์„ ํ•˜๊ฒŒ ๋˜์—ˆ์–ด์š”! -> git Fork๋กœ ๊ฒ€์ƒ‰ํ•˜๋ฉด git์˜ Fork ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์ž๋ฃŒ๋งŒ ์ˆ˜๋‘๋ฃฉํ•ฉ๋‹ˆ๋‹ค... git Fork ํ”„๋กœ๊ทธ๋žจ์— ๋Œ€ํ•œ ๊ธ€์€ ์ฐพ๊ธฐ๊ฐ€ ์–ด๋ ค์›Œ์š”!
  • Git-Fork ํ™ˆํŽ˜์ด์ง€ ์—์„œ ๋‹ค์šด ๋ฐ›์„ ์ˆ˜ ์žˆ์–ด์š”! ๋ฌด๋ฃŒ ๋ฒ„์ „๊ณผ ์œ ๋ฃŒ ๋ฒ„์ „์ด ์žˆ์ง€๋งŒ ํ•ญ์ƒ ๊ทธ๋ ‡๋“ฏ ๋ฌด๋ฃŒ ๋ฒ„์ „์œผ๋กœ ์ถฉ๋ถ„ํ•ด๋ณด์ž…๋‹ˆ๋‹ค! ์ด ์•ฑ์— ๊ด€ํ•ด ์ด๋Ÿฐ์ €๋Ÿฐ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์ด์•ผ๊ธฐ๋“ค์ด ์žˆ๋Š”๋ฐ ์—ฌ๊ธฐ์„œ๋Š” ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๋ƒ์— ๊ด€ํ•œ ๊ธ€์ด๋ผ ์ƒ๋žตํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค :]

 

๐Ÿ“š Why - ์™œ Git Fork๋ฅผ ์‚ฌ์šฉํ• ๊นŒ?

  • Source Tree์— ๋น„ํ•ด Git Fork๋Š” rebase ์ž‘์—…์ด ํ›จ์”ฌ ํŽธํ•˜๋‹ค๊ณ  ๋“ค์—ˆ์–ด์š”. ํ•˜๋‚˜ํ•˜๋‚˜ ์‹ค์ œ๋กœ ํ•ด๋ณด๋ฉด์„œ ์ฒดํ—˜ํ•  ์˜ˆ์ •์ด์—์š”! Source Tree๋ฅผ ๋งŽ์ด ์‚ฌ์šฉํ•ด๋ณด์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— ์ง์ ‘์ ์ธ ๋น„๊ต๋Š” ์–ด๋ ต๊ณ , ์ €๋Š” CLI๋ฅผ ์ฃผ๋กœ ์‚ฌ์šฉํ–ˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— CLI์™€ GUI์˜ ์ฒด๊ฐ ์ฐจ์ด์— ๊ด€ํ•œ ๊ธ€์ด ๋  ์ˆ˜๋„ ์žˆ์„ ๊ฒƒ ๊ฐ™์•„์š”.
  • ๊ธ€์ด ๋„ˆ๋ฌด ๊ธธ์–ด์ง€๋ฉด ๋Š์–ด๊ฐˆ ์ˆ˜๋„ ์žˆ์„ ๊ฒƒ ๊ฐ™์•„์š”!
    -> ๋‹น์—ฐํ•œ ๊ฒƒ์„.. ์ผ๋„ค์š”..
๋ฐ˜์‘ํ˜•

๐Ÿ›  How - ๋ณธ๊ฒฉ์ ์œผ๋กœ ์‚ฌ์šฉํ•ด๋ณด๊ธฐ

 

๋ธŒ๋žœ์น˜ ์ƒ์„ฑํ•˜๊ธฐ

 

  • ์šฐ์„  Git Fork ํ™”๋ฉด์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์•„๋ž˜์™€ ๊ฐ™์•„์š”.
    ์™ผ์ชฝ์—๋Š” git branch ๋“ฑ์˜ tree๊ฐ€ ์žˆ๊ณ  ์˜ค๋ฅธ์ชฝ์— ์ •๋ณด๊ฐ€ ๋– ์š”.์ƒˆ๋กœ์šด ๋ธŒ๋žœ์น˜๋Š” ๊ธฐ์ค€ ๋ธŒ๋žœ์น˜์—์„œ ์šฐํด๋ฆญ์„ ํ†ตํ•ด ์ƒ์„ฑํ•ด์š”.

    ๋‹น์—ฐํžˆ New Branch๊ฒ ์ฃ ? ํด๋ฆญํ•ด์ค˜์„œ ์ƒˆ๋กœ์šด ๋ธŒ๋žœ์น˜๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

    develop์ด๋ผ๋Š” branch๋ฅผ ๋งŒ๋“ค์–ด ์ค„๊ฑด๋ฐ์š”. ์ƒ์„ฑ ํ›„ ์ƒ์„ฑ๋œ ๋ธŒ๋žœ์น˜๋กœ ์ด๋™ํ•  ๊ฒƒ์ด๋ฉด "Check out after create"์„ ์ฒดํฌํ•˜๊ณ , ๋‹จ์ˆœํžˆ ์ƒ์„ฑ๋งŒ ํ•˜๋ ค๋ฉด ๋ฐ•์Šค ์ฒดํฌ๋ฅผ ํ•ด์ œํ•˜๊ณ  ์ง„ํ–‰ํ•ด์š”.

    ์ƒˆ๋กœ์šด develop ๋ธŒ๋žœ์น˜๊ฐ€ ์ƒ์„ฑ๋˜๊ณ , ํ˜„์žฌ ๋ธŒ๋žœ์น˜๊ฐ€ develop์ด ๋˜์–ด์„œ main์€ ์–‡๊ณ  develop์€ ๊ตต๊ฒŒ ๋ณด์ด๋„ค์š”!

    ์ด์ œ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ํ™˜๊ฒฝ์ด ์™„์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค!
  • ์ด์ œ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ๋ธŒ๋žœ์น˜๋ฅผ ์›๊ฒฉ๊ณผ ๋กœ์ปฌ์— ์—ฌ๋Ÿฌ๊ฐœ ๋งŒ๋“ค์–ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.
  • ๊ทธ ๊ฒฐ๊ณผ..
  • ์™ผ์ชฝ tree์— ํ˜„์žฌ ๋ธŒ๋žœ์น˜๋Š” bold์ฒ˜๋ฆฌ๊ฐ€ ๋˜์š”. ์ƒˆ๋กœ์šด ๋ธŒ๋žœ์น˜๋ฅผ ์ƒ์„ฑํ•ด์„œ ์ฐจ์ด๋ฅผ ๋ณด๋„๋ก ํ• ๊ฒŒ์š”!
  •  

์ƒํ™ฉ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ํ•˜๊ธฐ

 

  • ์ž‘์—…ํ•ด๋ณผ ์ƒํ™ฉ์€ ์•„๋ž˜์™€ ๊ฐ™์•„์š”
    1. task/jay2์—์„œ jay2 ์ž‘์—…์„ ์ง„ํ–‰ํ•˜๊ณ ์žˆ๋Š” ๋™์‹œ์— task/david2์—์„œ ๊ฐ™์€ ํŒŒ์ผ์— ๋‹ค๋ฅธ ์ž‘์—…์„ ์ง„ํ–‰ํ•ด์š”. task/david2์—์„œ ๋จผ์ € develop์— mergeํ•˜๊ณ , task/jay2์—์„œ merge๋ฅผ ์‹œ๋„ํ•ด์š” -> conflict ๋ฐœ์ƒ
    2. epic/task/david1์—์„œ task/david2 ์ƒํƒœ๋ฅผ ๊ธฐ์ค€์œผ๋กœ rebaseํ•ด์š”.
    3. commit์˜ ์ด๋ฆ„์„ ๋ณ€๊ฒฝํ•ด์š”
    4. commit์˜ ์ˆœ์„œ๋ฅผ ๋ณ€๊ฒฝํ•ด์š”
    5. amend๋กœ ๊ธฐ์กด ์ปค๋ฐ‹์— ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ํฌํ•จ์‹œ์ผœ์š”.
  • ๋‹ค์Œ ๊ธ€์— ์ด์–ด์„œ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค!
๋ฐ˜์‘ํ˜•
๋Œ“๊ธ€
๋ฐ˜์‘ํ˜•
๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
Total
Today
Yesterday
๋งํฌ
TAG more
ยซ   2024/05   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
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 31
๊ธ€ ๋ณด๊ด€ํ•จ