๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๊ฐœ์ธ๊ณต๋ถ€/Git & GitHub

[Git & GitHub] ์ž‘์—… ์ค‘์ธ ๋‚ด์šฉ ์ž„์‹œ ์ €์žฅ : branch

by ๐Ÿ‡๋ฐ•๋ด‰๋ด‰๐Ÿ‡ 2020. 5. 27.

 

 

 

[Git & GitHub] ์ด์ „ commit์œผ๋กœ ๋˜๋Œ๋ฆฌ๊ธฐ : revert ๋ณต์Šต ๋ฐ ์‘์šฉ

[Git & GitHub] ์ด์ „ commit์œผ๋กœ ๋˜๋Œ๋ฆฌ๊ธฐ : revert์˜ ๊ฐœ๋… [Git & GitHub] ์ด์ „ commit์œผ๋กœ ๋˜๋Œ๋ฆฌ๊ธฐ : branch ์ƒ์„ฑ [Git & GitHub] ์ด์ „ commit์œผ๋กœ ๋˜๋Œ๋ฆฌ๊ธฐ : reset์˜ ๊ฐœ๋… [Git & GitHub] ๋ณ‘ํ•ฉ(merge)์œผ๋กœ ๋ฐœ..

onelight-stay.tistory.com

 

๊ธฐ์กด์— ๋ธŒ๋žœ์น˜๋ฅผ ์ฒดํฌ์•„์›ƒํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š”

ํ˜„์žฌ ์ž‘์—… ๋””๋ ‰ํ„ฐ๋ฆฌ๊ฐ€ ์ปค๋ฐ‹ ํ›„ ๋ณ€๊ฒฝ์‚ฌํ•ญ ์—†์ด ๊นจ๋—ํ•ด์•ผ ํ•œ๋‹ค.

 

์ด๋•Œ, ์ปค๋ฐ‹ํ•˜์ง€ ์•Š๊ณ  ๋ณ€๊ฒฝ์‚ฌํ•ญ์ด ์žˆ๋Š” ์ƒํƒœ์—

์ฒดํฌ์•„์›ƒ์„ ์ง„ํ–‰ํ•˜๋ ค๊ณ  ํ•  ๋•Œ ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•ด๊ฒฐ๋ ๊นŒ?

 

์•Œ์•„๋ณด๋„๋ก ํ•˜์ž.

 

 


 

 

โ‘  ์ปค๋ฐ‹์ด ์™„๋ฃŒ๋œ ์ƒํƒœ์—์„œ checkout ํ•˜๊ธฐ

 

 

(1) ๊ธฐ์กด์— master ๋ธŒ๋žœ์น˜๋งŒ ์žˆ๋Š” ์ƒํ™ฉ์—์„œ

๋‹ค๋ฅธ ๋ธŒ๋žœ์น˜๋กœ ์ฒดํฌ์•„์›ƒ์„ ์ง„ํ–‰ํ•ด์ฃผ๊ธฐ ์œ„ํ•ด test ๋ธŒ๋žœ์น˜๋ฅผ ์ถ”๊ฐ€ํ•ด ์ค€๋‹ค.

 

 

(2) test๋กœ ์ฒดํฌ์•„์›ƒ์ด ๋œ ์‹œ์ ์—์„œ

๋‚ด์šฉ์„ ์ถ”๊ฐ€ํ•ด ์ค€ ๋’ค์— ์ปค๋ฐ‹ ํ›„ ์ฒดํฌ์•„์›ƒ์„ ์ง„ํ–‰ํ•ด ์ค€๋‹ค.

 

 

(3) test ๋ธŒ๋žœ์น˜์—์„œ ์ปค๋ฐ‹์ด ์™„๋ฃŒ๋œ ์ƒํƒœ์ด๋ฉฐ

master ๋ธŒ๋žœ์น˜๋กœ ์ฒดํฌ์•„์›ƒ์„ ์ง„ํ–‰ํ–ˆ์„ ๋•Œ ์—๋Ÿฌ ์—†์ด ์ฒดํฌ์•„์›ƒ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

 

 

 (4) ๊ฐ ๋ธŒ๋žœ์น˜์—์„œ ์ ์šฉ๋œ ๋‚ด์šฉ์„ ์—๋””ํ„ฐ์—์„œ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 


 

 

โ‘ก ์ปค๋ฐ‹์ด ์™„๋ฃŒ๋˜์ง€ ์•Š์€ ์ƒํƒœ๋กœ checkout ํ•˜๊ธฐ

 

 

(1) test ๋ธŒ๋žœ์น˜์—์„œ ๋‚ด์šฉ์„ ์ถ”๊ฐ€ํ•œ ํ›„์— ์ €์žฅํ•ด์ค€๋‹ค.

 

 

(2) ์†Œ์ŠคํŠธ๋ฆฌ์— ์ ‘์† ์‹œ '์ปค๋ฐ‹ํ•˜์ง€ ์•Š์€ ๋ณ€๊ฒฝ์‚ฌํ•ญ'์ด ๋‚˜ํƒ€๋‚˜๋Š”๋ฐ

๋งˆ์ง€๋ง‰ ์ปค๋ฐ‹๊ณผ ํ˜„์žฌ ์ž‘์—…์ค‘์ธ ๋””๋ ‰ํ„ฐ๋ฆฌ์˜ ๋‚ด์šฉ์ด ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

 

์ด์ƒํƒœ์—์„œ ์ปค๋ฐ‹ํ•˜๊ธฐ ์•Š๊ณ  ๋ฐ”๋กœ master ๋ธŒ๋žœ์น˜๋กœ ์ฒดํฌ์•„์›ƒ์„ ์ง„ํ–‰ํ•ด๋ณธ๋‹ค.

 

 

(3) ์ดํ›„ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด์„œ ์ฒดํฌ์•„์›ƒ์ด ์ง„ํ–‰๋˜์ง€ ์•Š๋Š”๋ฐ

๋ฐ˜๋“œ์‹œ master ๋ธŒ๋žœ์น˜๋กœ ์ฒดํฌ์•„์›ƒ์„ ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ์— ํ•ด๊ฒฐ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด์ž.

 

 


 

 

์ž‘์—… ์ค‘์ธ ๋‚ด์šฉ์˜ ์ž„์‹œ ์ €์žฅ

 

โ‘  ๋ธŒ๋žœ์น˜1์—์„œ (์ž„์‹œ) ์ปค๋ฐ‹์„ ํ•œ๋‹ค.

 

โ‘ก ๋ธŒ๋žœ์น˜2๋กœ ์ฒดํฌ์•„์›ƒ์„ ํ•˜๊ณ  ๋‚ด์šฉ์„ ์ž‘์„ฑํ•œ๋‹ค.

 

โ‘ข ๋ธŒ๋žœ์น˜1๋กœ ์ฒดํฌ์•„์›ƒ์„ ํ•ด์ค€๋‹ค.

 

โ‘ฃ ๋ธŒ๋žœ์น˜1์˜ ์ž‘์—…์„ ์ด์–ด์„œ ๋งˆ๋ฌด๋ฆฌ ์ง“๋Š”๋‹ค.

 

โ‘ค๋ถˆํ•„์š”ํ•œ ์ปค๋ฐ‹์„ ๋ฎ์–ด์“ฐ๊ธฐ (commit -amend) ํ•ด์ค€๋‹ค.

 

โ‘ฅ <์˜ต์…˜> ํ•„์š”์‹œ์— ๊ฐ•์ œ ํ‘ธ์‹œ(push --force)๋ฅผ ํ•œ๋‹ค.

 

 


 

 

โ‘  ๋ธŒ๋žœ์น˜1(test)์—์„œ ์ž„์‹œ์ ์œผ๋กœ ์ปค๋ฐ‹์„ ์ž‘์„ฑํ•œ๋‹ค.

 

 

โ‘ก ์ปค๋ฐ‹์ด ์™„๋ฃŒ๋œ ํ›„ ๋ธŒ๋žœ์น˜2(master)๋กœ ์ฒดํฌ์•„์›ƒ์„ ํ•˜๊ณ  ์ž‘์—…์„ ์ง„ํ–‰ํ•œ๋‹ค.

 

 

โ‘ข ๋ธŒ๋žœ์น˜2(master)์˜ ์ž‘์—…์„ ์™„๋ฃŒ ํ›„,

๋‹ค์‹œ ๋ธŒ๋žœ์น˜ 1(test)๋กœ ์ฒดํฌ์•„์›ƒ์„ ํ•ด์ค€๋‹ค.

 

 

โ‘ฃ ๋ธŒ๋žœ์น˜ 1(test)์—์„œ ์ž‘์„ฑํ•˜์ง€ ๋ชปํ•œ ๋‚ด์šฉ์„ ์ž‘์„ฑํ•ด์ค€๋‹ค.

(๋‚˜๋Š” ๋‚ด์šฉ์˜ ์ผ๋ถ€๋ฅผ ์ˆ˜์ •ํ•ด ์ฃผ์—ˆ๋‹ค.)

 

 

โ‘ค ๋‚ด์šฉ์„ ์ž‘์„ฑํ•œ ํ›„ ์ปค๋ฐ‹์„ ํ•ด์•ผ ํ•˜๋Š”๋ฐ

์ด๋•Œ ๋‹จ์ˆœํžˆ ์ปค๋ฐ‹์„ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ

์ปค๋ฐ‹๋ž€์— ์žˆ๋Š” [์ปค๋ฐ‹ ์˜ต์…˜] - [๋งˆ์ง€๋ง‰ ์ปค๋ฐ‹ ์ •์ •]์„ ๋ˆŒ๋Ÿฌ์ค€ ๋’ค

์ปค๋ฐ‹์˜ ๋‚ด์šฉ์„ ์ˆ˜์ •ํ•ด ์ค€ ํ›„ ์ปค๋ฐ‹์„ ๋ˆŒ๋Ÿฌ์ค€๋‹ค.

 

์ด๊ฒฝ์šฐ๊ฐ€ ๋ฐ”๋กœ commit -amend์ด๋‹ค.

 

 

์ปค๋ฐ‹ ํ›„ ํ™•์ธํ•ด๋ณด๋ฉด ๋ฎ์–ด์“ฐ๊ธฐ๋ฅผ ์ง„ํ–‰ํ–ˆ์„ ๋•Œ์™€ ์ง„ํ–‰ํ•˜์ง€ ์•Š์•˜์„ ๋•Œ์˜

์ปค๋ฐ‹ ์ƒํƒœ๊ฐ€ ๋‹ค๋ฅธ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๋‹จ์ˆœํžˆ ์ปค๋ฐ‹์„ ์ง„ํ–‰ํ–ˆ์„ ๊ฒฝ์šฐ์—” ๋ถˆํ•„์š”ํ•œ ์ž„์‹œ ์ปค๋ฐ‹์˜ ๋‚ด์šฉ์„ ํฌํ•จํ•˜๋Š” ๋ฐ˜๋ฉด์—

๋ฎ์–ด์“ฐ๊ธฐ๋ฅผ ํ–ˆ์„ ๊ฒฝ์šฐ์—” ๋ถˆํ•„์š”ํ•œ ์ž„์‹œ ์ปค๋ฐ‹์˜ ๋‚ด์šฉ์ด ๋ณด์ด์ง€ ์•Š์€ ๊ฒƒ์„ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

โ‘ฅ ๊ฐ„ํ˜น ๋ถˆํ•„์š”ํ•œ ์ปค๋ฐ‹์˜ ๋‚ด์šฉ์„ push ํ–ˆ์„ ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋Š”๋ฐ

์ด๋•Œ๋Š” ๊ฐ•์ œ ํ‘ธ์‹œ (push --force)๋ฅผ ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

 

์œ„์˜ ๊ฒฝ์šฐ๋Š” ๋ถˆํ•„์š”ํ•œ ์ž„์‹œ ์ปค๋ฐ‹์„ ํ‘ธ์‹œํ•œ ๋’ค์—

๋‹ค์‹œ ์ˆ˜์ •ํ•œ ๋‚ด์šฉ์„ ๋ฎ์–ด์“ฐ๊ธฐ ํ–ˆ์„ ๊ฒฝ์šฐ์— ๋ฐœ์ƒํ•˜๋Š” ์ƒํ™ฉ์ด๋‹ค.

 

 

์ด๋•Œ์—๋Š” ํ„ฐ๋ฏธ๋„์— ์ ‘์†ํ•ด

git push --force๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ๋œ๋‹ค.

 

 

ํ™•์ธํ•ด๋ณด๋ฉด ์ •์ƒ์ ์œผ๋กœ push ๋œ ๋ชจ์Šต์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

์ž‘์—…์„ ์™„๋ฃŒ ํ›„์— ํ•ด๋‹น ๊ณผ์ •์€ ์ผ์ข…์˜ ํ…Œ์ŠคํŠธ ์ด๋ฏ€๋กœ

test ๋ธŒ๋žœ์น˜๋ฅผ ์‚ญ์ œํ•ด ์ค€๋‹ค.

 

master ๋ธŒ๋žœ์น˜๋กœ ์ฒดํฌ์•„์›ƒ ํ•ด์ค€ ๋’ค์—

test์™€ origin/test ๋ธŒ๋žœ์น˜๋ฅผ ์ œ๊ฑฐํ•ด ์ค€๋‹ค.

 

 


 

 

branch๋Š” ์ •๋ง ํ™œ์šฉ๋„๊ฐ€ ๋†’์€ ๊ฒƒ ๊ฐ™๋‹ค.

 

์•ž์œผ๋กœ๋„ ์“ฐ์ผ branch๋ฅผ ์œ„ํ•ด ์—ด์‹ฌํžˆ ์ตํ˜€์•ผ๊ฒ ๋‹ค.

 

 


 

 

< ์ฐธ๊ณ  >

 

์ธํ”„๋Ÿฐ - git๊ณผ github

https://www.inflearn.com/course/git-and-github

 

git๊ณผ github - ์ธํ”„๋Ÿฐ

ํ˜•์ƒ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ(Verson Control System) ์˜ ํ•œ ์ข…๋ฅ˜์ž…๋‹ˆ๋‹ค. ์ฃผ๋กœ ๊ฐœ๋ฐœ์ž๋“ค์ด ํ”„๋กœ๊ทธ๋žจ๊ณผ ๊ด€๋ จ๋œ ํŒŒ์ผ๋“ค์„ ์ €์žฅํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ž…๋ฌธ ๊ฐœ๋ฐœ ๋„๊ตฌ ๋ฒ„์ „๊ด€๋ฆฌ์‹œ์Šคํ…œ ๊นƒ(GIT) ์˜จ๋ผ์ธ ๊ฐ•์˜ github

www.inflearn.com

 

โ€ป ํ•ด๋‹น ๊ธ€์€ ์Šต๋“ ๋ชฉ์ ์œผ๋กœ ์ž‘์„ฑ๋œ ๊ธ€์ž…๋‹ˆ๋‹ค โ€ป

 

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€