rebase
๋ด๊ฐ ์์
์ค์ธ ๋ธ๋์น์์ ์์
์ด ์๋ฃ๋์ด์ PR์ ๋ ๋ฆฐ๋ค๊ณ ๊ฐ์ ํ์ ๋ PR ์ฌ๋ฆฌ๊ธฐ ์ rebase
๋ฅผ ์ฌ์ฉํ๋ค.
๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ๋ ๋ธ๋์น : ํ์ฌ ์์ ์ด ์๋ฃ๋ ๋ธ๋์น
ํ์ฌ ๋ธ๋์น ์์: feat/1-setting
## ๋ฐฉ๋ฒ 1
$ git checkout develop
$ git pull origin develop
$ git checkout feat/1-setting
$ git pull origin develop # ์๊ฒฉ ์ ์ฅ์ origin develop์ ์์
๋์ด์๋ ๋ด์ฉ์ ๊ฐ์ ธ์ด.
$ git rebase develop # ๊ฐ์ ธ์จ develop์ ๊ฐ์ฅ ์ต์ ์ปค๋ฐ์ผ๋ก HEAD ์ด๋
## ๋ฐฉ๋ฒ 2
$ git checkout feat/1-setting # ํ์ฌ ๋ธ๋์น๊ฐ feat/1-setting์ด๋ผ๋ฉด ํจ์ค
$ git pull --rebase origin develop
๊ฒฐ๋ก ์ ์ผ๋ก, ๋ด๊ฐ ์ค๊ฐ์ ์์
์ด ์๋ฃ๋ ๋ค๋ฅธ ํฌ๋ฃจ์ ์ฝ๋๋ฅผ ๊ฐ์ ธ์์ผ ๋๊ฑฐ๋ PR์ ์ฌ๋ฆฌ๊ธฐ ์ rebase
๋ฅผ ํ๋ฉด ๋๋ค.
Q. update rebase
๋ฅผ ๋๋ฅธ ๋ค์ push ํ ์ผ์ด ์๊ธฐ๋ฉด ์๋ ์์
์ ํ๋ฉด ๋ผ์
## ๋ง์ฝ ์น ์์์ update rebase๋ฅผ ๋๋ฅธ ๋ค, ์ถ๊ฐ ์์ ์ฌํญ์ด ์๊ฒจ์ ๋ก์ปฌ์์ ์์
ํด์ผ ํ ๋
$ git pull --rebase origin feat/1-setting
๋จธ์ง ํ๊ธฐ ์ , update rebase๋ฅผ ํด์ผ ํจ
์๋๋ ์ธ์ ์ฐ๋์ ๐ญ
## ๋ง์ฝ remote์ ํด์์ ๋ก์ปฌ์ ํด์๊ฐ ๋ฌ๋ผ์ ๊ฐ์ push๊ฐ ํ์ํ ๊ฒฝ์ฐ
## --force-with-lease: ๊ฐ์ ํธ์ฌ๊ฐ ์์ ํ ๊ฒฝ์ฐ์๋ง ๊ฐ์ push๋ฅผ ํ๋ค.
$ git push --force-with-lease origin feat/1-setting
merge
pull = fetch + merge
๊ทธ๋ผ merge
๋ ์ธ์ ํด์?