Git์ผ๋ก ํ์ ํ๊ธฐ
Maintainer : ๊น๋ฉ์์ ํน์ ํ๋ก์ ํธ์ ์ต์ข ๊ด๋ฆฌ์๋ฅผ ์๋ฏธํ๋ ๋จ์ด๋ก,
ํ๋ก์ ํธ์ ๊ดํ ๊ฐ์ฅ ๋ง์ ๊ถํ์ ๊ฐ๊ณ ์๋ ์ฌ์ฉ์ ๋ฑ๊ธ์ ๋ํ๋
Maintainer๋ ์ ๊ท ๊ฐ๋ฐ์๊ฐ ํ์ ์ ์ฑํ๋ค๋ฉด,
๊ทธ ๊ฐ๋ฐ์๋ฅผ ๊น๋ฉ์ ์ถ๊ฐํ๊ณ ๊ถํ์ ๋ถ์ฌํ ์ ์์.
์ดํ ์๋์ ํ๋ก์ ํธ์ ๋๊ฐ์ ํ๋ก์ ํธ๋ฅผ ์ ๊ท ๊ฐ๋ฐ์์ ๊ณ์ ์๋์ ๋ณ๋๋ก ์์ฑ(๋ณต์ )ํจ.
์ด์ฒ๋ผ ์๋ณธ ํ๋ก์ ํธ์ ๋ณต์ ๋ณธ์ ๋ง๋๋ ๊ฒ์ Fork ํ๋ค๊ณ ํจ.
์ ๊ท ๊ฐ๋ฐ์๋ ๋ณต์ ๋ ํ๋ก์ ํธ๋ฅผ git clone์ ํตํด ์์ ์ ์ปดํจํฐ์ ๊ฐ์ ธ์จ ๋ค
์ ์ปค๋ฐ๋ค์ ์ถ๊ฐํ๊ณ ์์ ์ ๋ณต์ ๋ณธ ํ๋ก์ ํธ์ git push๋ฅผ ํจ.
๊ทธ ๋ค์, ๋ณต์ ๋ณธ ํ๋ก์ ํธ์์ ์๋ณธ ํ๋ก์ ํธ์ Merge Request๋ฅผ ๋ณด๋.
Merge Request : ๋ณต์ ๋ณธ ํ๋ก์ ํธ์ ์๋ ์๋ก์ด ์ปค๋ฐ๋ค์ ๊ทธ๋๋ก ์๋ ํ๋ก์ ํธ์ merge ํด ๋ฌ๋ผ๋ ์์ฒญ์ ๋ณด๋ด๋ ๊ฒ
ํ๋ก์ ํธ ๊ด๋ฆฌ์๋ merge request๋ฅผ ๋ณด๊ณ ๊ฐ๋ฐ์์ ์์ํด์,
๊ด์ฐฎ์ ์ปค๋ฐ๋ค์ด๋ผ๊ณ ํ๋จ๋๋ฉด merge request๋ฅผ ์น์ธํด์ ์๋ก์ด ์ปค๋ฐ๋ค์ ๋จธ์งํ ์ ์์.
๋ง์ฝ ๊ทธ๋ ์ง ์๋ค๋ฉด ๊ฑฐ์ ํด์ ํด๋น ์ปค๋ฐ๋ค์ ๋ฌด์ํ ์๋ ์์.
Git clone ํ๋ ๋ฒ
๊น๋ฉ์์ Forked from ๊ด๋ฆฌ์ / ํ๋ก์ ํธ๋ช ์ ํ์ธํ ๋ค ํฐ๋ฏธ๋์ ์๋ ๋ช ๋ น์ด ์ ๋ ฅ
์ฌ์ฉ์ ์์ด๋์ ๋น๋ฐ๋ฒํธ ์ ๋ ฅํ๋ฉด ํด๋ก ์๋ฃ
$ git clone {URL}
Head๊ฐ ๊ฐ๋ฆฌํค๊ณ ์์ง ์์ ๋ธ๋์น์ ํด๋นํ๋ ์ปค๋ฐ๋ค๊น์ง ์ ๋ก๋ํ๋ ๋ฒ
$ git push origin master
Merge Request ์ ์ฐธ๊ณ ํ ์
- Target Branch ์ ํ์ธํ๊ธฐ
- Title๊ณผ Description์ ํ๊ธ์ด๋ ์์ด๋ ์๊ด ์์
- Assignee : Merge Request๋ฅผ ๊ฐ์ฅ ๋จผ์ ์ ๊ฒํ๋ ๋ด๋น์ ์ญํ
ํ๋ก์ ํธ ๊ด๋ฆฌ์๋ Merge Request์ ๋ํด ์ง๋ฌธ/๋ํ๋ฅผ ์ํ๋ค๋ฉด Discussion์ ํตํด ๊ธ์ ๋จ๊ธฐ๋ฉด ๋จ.
Merge ์ ์ฑ ์ดํดํ๊ธฐ
Merge ์ ์ฑ ์ ์๋ ์ฌ์ง๊ณผ ๊ฐ์ด ํฌ๊ฒ ์ธ ๊ฐ์ง๋ก ๋๋ ์ ์์.
Merge commit ํน์ Merge commit with semi-linear history ์ ์ฑ ์ด ์ ์ฉ๋์ด ์๋ค๋ฉด,
์ด๋ ํ ๊ฒฝ์ฐ๋ผ๋ ํญ์ ๋จธ์ง ์ปค๋ฐ์ ์์ฑํ๋ค.
(Fast-forward Merge๊ฐ ๊ฐ๋ฅํ๋๋ผ๋ ๋จธ์ง ์ปค๋ฐ์ ์์ฑํจ.)
Merge ๋๋๋ฆฌ๊ธฐ
์ด๋ ํ ์ด์ ๋ก ๋จธ์ง๋ฅผ ๋๋๋ ค์ผ ํ๋ ๊ฒฝ์ฐ,
๋ด๊ฐ ์์ง ๋จธ์ง๊ฐ ์๋ฃ๋ ํ๋ก์ ํธ๋ฅผ pull ํ์ง ์์์ ๋
๋ด ์ปดํจํฐ์ ํ๋ก์ ํธ ์ํ๋ฅผ ๋ฎ์ด์์ฐ๋ฉด ๋๋๋ฆฌ๊ธฐ๊ฐ ๊ฐ๋ฅํ๋ค.
์ด๋, ๊น๋ฉ ์๋ฒ์ ์๋ณธ ํ๋ก์ ํธ๋ ํ์ฌ ๋ด workspace์ ํ๋ก์ ํธ๋ณด๋ค ์ปค๋ฐ์ด ๋ช ๋จ๊ณ ์์ ์ํ์ด๋ฏ๋ก
--force ์ต์ ์ ํตํด ํ์ฌ ๋ด ํ๋ก์ ํธ๋ฅผ ๊ฐ์ ๋ก ๋ฎ์ด์์์ผ ํ๋ค.
**์ค๋ฌด ๊ฐ๋ฐ์์๋ ์ ๋ --force ์ต์ ์ ์ฐ๋ฉด ์๋จ.
$ git push --force