What if you commit a change, and then realize that you committed to a different branch? How can you change that? This is what this tutorial covers. ๋ง์ผ ๋ณ๊ฒฝ์ฌํญ์ ๋ฐ์ํ๋๋ฐ ์ ํ ๋ค๋ฅธ ๋ธ๋์น์ ์ปค๋ฐํ ์ฌ์ค์ ์์๋ค๋ฉด ์ด๋ป๊ฒํ ๊น์? ์ด๊ฑธ ์ด๋ป๊ฒ ๋ฐ๋ก์ก์ ์ ์์๊น์? ๋ฐ๋ก ์ด ์ฅ์์ ๋ค๋ฃฐ ๋ด์ฉ์ ๋๋ค.
์ฌ์ฉ์:
git reset HEAD~ --soft
- ๋ง์ง๋ง ์ปค๋ฐ์ ๋๋๋ฆฝ๋๋ค. ๋ฌผ๋ก ์์ ํ ๋ด์ฉ์ ๊ทธ๋๋ก ๋จ์์์ต๋๋ค.
git stash
- ํ์ฌ๊น์ง ์์ ํ ๋ชจ๋ ์์
๋ด์ฉ๋ค์ ์ํ๋ฅผ ์ ์ฅํฉ๋๋ค.
git checkout name-of-the-correct-branch
- ์ค์ ๋ฐ์ํ๊ณ ์ํ๋ ๋ธ๋์น๋ฅผ ์ฒดํฌ์์ํฉ๋๋ค.
git stash pop
- ๋ง์ง๋ง์ผ๋ก ์ ์ฅํ(stash) ๋ณ๊ฒฝ๋ด์ญ๋ค์ ํ์ฌ ๋ธ๋์น์ ๋ฐ์ํ๊ณ ์ ์ฅํ ๋ด์ญ์์ ์ญ์ ํฉ๋๋ค.
git add .
- ๋๋ ์ปค๋ฐ์ ๋ฐ์ํ ๋ณ๊ฒฝ๋ด์ญ๋ค์ ๊ฐ๋ณ์ ์ผ๋ก ์ถ๊ฐํฉ๋๋ค.
git commit -m "your message here"
- ์ ์ฅํ๊ณ ๋ณ๊ฒฝ๋ด์ญ์ ์ปค๋ฐํฉ๋๋ค.
์ ์ด์ ๋ณ๊ฒฝ์ฌํญ์ด ์ฌ๋ฐ๋ฅธ ๋ธ๋์น์ ๋ฐ์๋์์ต๋๋ค.
์ฌ์ฉ์:
git branch newbranch
- ์ ๊ท ๋ธ๋์น๋ฅผ ์์ฑํ๊ณ ๋ชจ๋ ์ปค๋ฐ๋ค์ ์ ์ฅํฉ๋๋ค.
git reset --hard HEAD~#
- master ๋ธ๋์น์ #๋ฒ์งธ ์ปค๋ฐ์ ๋๋๋ฆฝ๋๋ค. ๋๋๋ฆฐ ์ปค๋ฐ๋ค์ master์์ ์์ ํ ์ญ์ ๋๋ฏ๋ก ์ฃผ์ํ์ธ์.
git checkout newbranch
- ์์ฑํ ๋ธ๋์น๋ก ์ด๋ํฉ๋๋ค. ๋ชจ๋ ์ปค๋ฐ๋ค์ ๊ฐ์ง๊ณ ์์๊ฒ๋๋ค.
์ฃผ์: ์ปค๋ฐํ์ง ์์ ๋ณ๊ฒฝ์ฌํญ๋ค์ ์ฌ๋ผ์ง๋๋ค.