TIL50. GIT : Git PR pattern

ID์งฑ์žฌยท2021๋…„ 10์›” 22์ผ
0

Git

๋ชฉ๋ก ๋ณด๊ธฐ
7/8
post-thumbnail

๐Ÿ“Œ ์ด ํฌ์ŠคํŒ…์—์„œ๋Š” ํ˜‘์—…์„ ์œ„ํ•œ pull requests ๊ณผ์ •๊ณผ ์ž‘์—… pattern์— ๋Œ€ํ•ด ๊ฐ„๋žตํ•˜๊ฒŒ ์ •๋ฆฌํ•˜์˜€์Šต๋‹ˆ๋‹ค.



๐ŸŒˆ Git PR pattern

๐Ÿ”ฅ ์‹œ์ž‘์€ clone

๐Ÿ”ฅ ์ž‘์—… ์ „ branch

๐Ÿ”ฅ ์ž‘์—… ์ข…๋ฃŒ ํ›„ commit & push

๐Ÿ”ฅ ๊ธด์žฅ๋˜๋Š” Pull Requests

๐Ÿ”ฅ merge ์™„๋ฃŒ๋˜๋ฉด pull๋ถ€ํ„ฐ



๐Ÿค” ์‹œ์ž‘์€ clone

โœ”๏ธ ํ”„๋กœ์ ํŠธ๋Š” ๋‚ด๋ ค ๋ฐ›๊ธฐ ์œ„ํ•ด์„œ๋Š” git clone์„ ์‚ฌ์šฉํ•œ๋‹ค. github repository์˜ ํ˜„์žฌ๊นŒ์ง€์˜ ์ž‘์—…๋ฌผ์„ ๋กœ์ปฌ์— ๋‚ด๋ ค ๋ฐ›๊ธฐ ์œ„ํ•œ ๋ช…๋ น์–ด๋‹ค.

โœ”๏ธ ์›ํ•˜๋Š” ๋กœ์ปฌ ๊ฒฝ๋กœ์—์„œ github repository์˜ ์ฃผ์†Œ๋ฅผ clone ๋ช…๋ น์–ด์™€ ์ ์–ด์ฃผ๋ฉด ๋‚ด๋ ค ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค. ๋‹จ, ํ˜„์žฌ ์œ„์น˜์— ๋ฐ”๋กœ ๋‚ด๋ ค ๋ฐ›์œผ๋ ค๋ฉด .์„ ๋ถ™์ธ๋‹ค.

$ git clone "์œ„์—์„œ ๋ณต์‚ฌํ•œ github ์ฃผ์†Œ" .

โœ”๏ธ repository์ด ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ƒ์„ฑ๋˜๊ณ  ๊ทธ ๋‚ด๋ถ€์— ํŒŒ์ผ์„ ๋‚ด๋ ค ๋ฐ›์œผ๋ ค๋ฉด .์„ ์ฐ์ง€ ์•Š์•„์•ผ ํ•œ๋‹ค.

$ git clone "์œ„์—์„œ ๋ณต์‚ฌํ•œ github ์ฃผ์†Œ"


๐Ÿค” ์ž‘์—… ์ „ branch

โœ”๏ธ ํ˜ผ์ž git์œผ๋กœ github repository์— pushํ•  ๋•Œ์—๋Š” ํฐ ๊ฑฑ์ • ์—†๊ฒ ์ง€๋งŒ, ๊ณต๋™ ์ž‘์—…์ด ์ด๋ค„์ง„๋‹ค๋ฉด ์ƒํ™ฉ์ด ๋‹ค๋ฅด๋‹ค.

โœ”๏ธ ์ฒซ ์‹œ์ž‘์€ main์—์„œ branch๋ฅผ ์ƒ์„ฑํ•ด ์ž‘์—…์„ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค. ์ ˆ๋Œ€ main์—์„œ ์ž‘์—…ํ•˜๋ฉด ์•ˆ๋œ๋‹ค.

โœ”๏ธ ๋˜ํ•œ branch๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค๋ฉด checkout์„ ํ†ตํ•ด ํ•ด๋‹น branch์—์„œ ์ž‘์—…์„ ์‹œ์ž‘ํ•ด์•ผํ•œ๋‹ค.

$ git branch [branch ๋ช…]

$ git checkout [branch ๋ช…]

โœ”๏ธ ์ด๋ฅผ ์ž์ฃผ ์žŠ์–ด๋จน๋Š”๋‹ค๋ฉด, branch ์ƒ์„ฑ๊ณผ ํ•จ๊ป˜ checkoutํ•˜๋Š” ์Šต๊ด€์„ ๊ธฐ๋ฅด์ž. -b ์˜ต์…˜์ด๋‹ค.

$ git checkout -b [branch๋ช…]


๐Ÿค” ์ž‘์—… ์ข…๋ฃŒ ํ›„ commit & push

โœ”๏ธ commit๊ณผ push๋Š” PR์„ ์š”์ฒญํ•˜๊ธฐ ์œ„ํ•œ ์‚ฌ์ „ ์ž‘์—…์ด๋‹ค.

โœ”๏ธ git add์™€ git commit์„ ๋™์‹œ์— ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด, -am ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜์ž.

$ git commit -am "commit ๋ฉ”์‹œ์ง€ ๋‚ด์šฉ"

โœ”๏ธ ๋ฌผ๋ก  push๋Š” ํ˜„์žฌ branch ๋ช…์œผ๋กœ ํ•ด์•ผํ•œ๋‹ค.

$ git push origin [ํ˜„์žฌ ์ž‘์—… branch๋ช…]


๐Ÿค” ๊ธด์žฅ๋˜๋Š” Pull Requests

โœ”๏ธ pul requests๋Š” push๋ฅผ ํ•  ๋•Œ ํ„ฐ๋ฏธ๋„ ์•„๋ž˜์— ๊ฒฝ๋กœ๊ฐ€ ๋‚˜ํƒ€๋‚˜๋‹ˆ, ์ปค๋งจํŠธ key๋กœ ๋“ค์–ด๊ฐ€ ๋ฐ”๋กœ ์ž‘์„ฑํ•œ๋‹ค.

โœ”๏ธ ํ•ด๋‹น ์กฐ์ง์˜ ์ปจ๋ฒค์…˜์— ๋”ฐ๋ผ ๋น ์ง์—†์ด ์ž‘์„ฑํ•ด์•ผ ํ•œ๋‹ค. ์ดํ›„ ๋ผ๋ฒจ์„ ๋‹ฌ์•„ pull requests์™€ ํ•จ๊ป˜ ์š”์ฒญ ์‚ฌํ•ญ์„ ๋ช…์‹œํ•œ๋‹ค.

โœ”๏ธ merge๊ฐ€ ๊ฑฐ์ ˆ๋‹นํ•˜๊ณ  ์ถ”๊ฐ€ ์กฐ์น˜์‚ฌํ•ญ์ด ์žˆ๋‹ค๋ฉด ์ด๋ฅผ ์ดํ–‰ํ•œ ๋’ค, add, commit, pushํ›„ ๊ด€๋ฆฌ์ž์—๊ฒŒ ๋‹ค์‹œ ๋ผ๋ฒจ๋กœ ์ด๋ฅผ ์•Œ๋ ค ๊ฒ€ํ† ๋ฅผ ์š”์ฒญํ•œ๋‹ค.

โœ”๏ธ github์—์„œ ์ ˆ๋Œ€๋กœ code ์ˆ˜์ •์„ํ•˜๋ฉด ์•ˆ๋œ๋‹ค.


๐Ÿค” merge ์™„๋ฃŒ๋˜๋ฉด pull๋ถ€ํ„ฐ

โœ”๏ธ merge๊ฐ€ ์™„๋ฃŒ๋ฌ๋‹ค๊ณ  ์ข‹์•„์„œ ๋ฐ”๋กœ branch๋ฅผ ๋งŒ๋“ค๋ฉด์•ˆ๋œ๋‹ค. github์˜ merge๋œ main์˜ ์ƒํƒœ์™€ ๋กœ์ปฌ์˜ main์˜ ์ƒํƒœ๋ถ€ํ„ฐ ๋™๊ธฐํ™” ์‹œํ‚ค์ž.

โœ”๏ธ ์šฐ์„  ํ„ฐ๋ฏธ๋„์—์„œ main ์œผ๋กœ ์ด๋™ํ•œ ๋’ค, pull์„ ์š”์ฒญํ•œ๋‹ค.

$ git checkout main

$ git pull origin main

โœ”๏ธ github์˜ main์„ pull๋กœ ๋‚ด๋ ค๋ฐ›์•˜๋‹ค๋ฉด, branch๋ฅผ ์ƒ์„ฑํ•ด์„œ ๋‹ค์‹œ ์ด๋ฅผ ๋ฐ˜๋ณตํ•œ๋‹ค.

โœ”๏ธ ์ž‘์—…์€ branch์—์„œ!!!!

profile
Keep Going, Keep Coding!

0๊ฐœ์˜ ๋Œ“๊ธ€

๊ด€๋ จ ์ฑ„์šฉ ์ •๋ณด