๐ ์ด ํฌ์คํ ์์๋ ํ์ ์ ์ํ pull requests ๊ณผ์ ๊ณผ ์์ pattern์ ๋ํด ๊ฐ๋ตํ๊ฒ ์ ๋ฆฌํ์์ต๋๋ค.
๐ฅ ์์์ clone
๐ฅ ์์ ์ branch
๐ฅ ์์ ์ข ๋ฃ ํ commit & push
๐ฅ ๊ธด์ฅ๋๋ Pull Requests
๐ฅ merge ์๋ฃ๋๋ฉด pull๋ถํฐ
โ๏ธ ํ๋ก์ ํธ๋ ๋ด๋ ค ๋ฐ๊ธฐ ์ํด์๋ git clone์ ์ฌ์ฉํ๋ค. github repository์ ํ์ฌ๊น์ง์ ์์ ๋ฌผ์ ๋ก์ปฌ์ ๋ด๋ ค ๋ฐ๊ธฐ ์ํ ๋ช ๋ น์ด๋ค.
โ๏ธ ์ํ๋ ๋ก์ปฌ ๊ฒฝ๋ก์์ github repository์ ์ฃผ์๋ฅผ clone ๋ช ๋ น์ด์ ์ ์ด์ฃผ๋ฉด ๋ด๋ ค ๋ฐ์ ์ ์๋ค. ๋จ, ํ์ฌ ์์น์ ๋ฐ๋ก ๋ด๋ ค ๋ฐ์ผ๋ ค๋ฉด .์ ๋ถ์ธ๋ค.
$ git clone "์์์ ๋ณต์ฌํ github ์ฃผ์" .
โ๏ธ repository์ด ๋๋ ํ ๋ฆฌ๋ก ์์ฑ๋๊ณ ๊ทธ ๋ด๋ถ์ ํ์ผ์ ๋ด๋ ค ๋ฐ์ผ๋ ค๋ฉด .์ ์ฐ์ง ์์์ผ ํ๋ค.
$ git clone "์์์ ๋ณต์ฌํ github ์ฃผ์"
โ๏ธ ํผ์ 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๋ PR์ ์์ฒญํ๊ธฐ ์ํ ์ฌ์ ์์ ์ด๋ค.
โ๏ธ git add์ git commit์ ๋์์ ํ๊ณ ์ถ๋ค๋ฉด, -am ์ต์ ์ ์ฌ์ฉํ์.
$ git commit -am "commit ๋ฉ์์ง ๋ด์ฉ"
โ๏ธ ๋ฌผ๋ก push๋ ํ์ฌ branch ๋ช ์ผ๋ก ํด์ผํ๋ค.
$ git push origin [ํ์ฌ ์์ branch๋ช ]
โ๏ธ pul requests๋ push๋ฅผ ํ ๋ ํฐ๋ฏธ๋ ์๋์ ๊ฒฝ๋ก๊ฐ ๋ํ๋๋, ์ปค๋งจํธ key๋ก ๋ค์ด๊ฐ ๋ฐ๋ก ์์ฑํ๋ค.
โ๏ธ ํด๋น ์กฐ์ง์ ์ปจ๋ฒค์ ์ ๋ฐ๋ผ ๋น ์ง์์ด ์์ฑํด์ผ ํ๋ค. ์ดํ ๋ผ๋ฒจ์ ๋ฌ์ pull requests์ ํจ๊ป ์์ฒญ ์ฌํญ์ ๋ช ์ํ๋ค.
โ๏ธ merge๊ฐ ๊ฑฐ์ ๋นํ๊ณ ์ถ๊ฐ ์กฐ์น์ฌํญ์ด ์๋ค๋ฉด ์ด๋ฅผ ์ดํํ ๋ค, add, commit, pushํ ๊ด๋ฆฌ์์๊ฒ ๋ค์ ๋ผ๋ฒจ๋ก ์ด๋ฅผ ์๋ ค ๊ฒํ ๋ฅผ ์์ฒญํ๋ค.
โ๏ธ github์์ ์ ๋๋ก code ์์ ์ํ๋ฉด ์๋๋ค.
โ๏ธ merge๊ฐ ์๋ฃ๋ฌ๋ค๊ณ ์ข์์ ๋ฐ๋ก branch๋ฅผ ๋ง๋ค๋ฉด์๋๋ค. github์ merge๋ main์ ์ํ์ ๋ก์ปฌ์ main์ ์ํ๋ถํฐ ๋๊ธฐํ ์ํค์.
โ๏ธ ์ฐ์ ํฐ๋ฏธ๋์์ main ์ผ๋ก ์ด๋ํ ๋ค, pull์ ์์ฒญํ๋ค.
$ git checkout main
$ git pull origin main
โ๏ธ github์ main์ pull๋ก ๋ด๋ ค๋ฐ์๋ค๋ฉด, branch๋ฅผ ์์ฑํด์ ๋ค์ ์ด๋ฅผ ๋ฐ๋ณตํ๋ค.
โ๏ธ ์์ ์ branch์์!!!!