์ด์ commit์ผ๋ก ๋๋๋ฆฌ๊ธฐ์์
reset๊ณผ branch์์ฑ์ ๋ํด์ ๋ฐฐ์ ๋๋ฐ
์ด๋ฒ์๋ ๋๋๋ฆฌ๊ธฐ์ ์ ์์ธ
revert์ ๋ํด์ ์์๋ณด์.
(1) ๋จผ์ , ์ผ๋ถ ๋ด์ฉ์ ์ถ๊ฐํด ์ค ๋ค์ ์ปค๋ฐ์ ํด์ค๋ค.
(2) ์ปค๋ฐ์ ํด์ค ์ํ์ด๋ฉฐ,
์ด์ ์ ์ ๋ด์ฉ์ผ๋ก ๋ค์ ๋๋๋ฆฌ๊ธฐ ์ํด revert๋ฅผ ์งํํด์ฃผ๋ฉด ๋๋ค.
์์ค ํธ๋ฆฌ์์๋ ์ผ์ชฝ์ ํด๋ฆญํ ํ '์ปค๋ฐ ๋๋๋ฆฌ๊ธฐ'๋ฅผ ๋๋ฅด๋ฉด ๋๋ค.
(3) ํ์ธํ๋ฉด ์์ฑํ์๋ ์ปค๋ฐ์ด ์ญ์ ๋๊ณ ์ด์ ์ผ๋ก ๋๋์๊ฐ๋ ๊ฒ์ด ์๋
๋ณด์กด๋ ์ํ์์ ์๋ก์ด ์ปค๋ฐ์ด ๋ํ๋ฌ๋ค.
(4) ์๋ํฐ๋ฅผ ํตํด ํ์ธํด๋ณด๋ฉด
๋ด์ฉ์ ์ถ๊ฐํ๊ธฐ ์ ์ ๋ชจ์ต์ผ๋ก ๋ํ๋ ์๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
(5) ๋ง์ฝ ๋ด์ฉ์ ์ถ๊ฐํ๋ ํํ๋ก ๋ค์ ๋์๊ฐ๊ณ ์ถ๋ค๋ฉด
๋์๊ฐ๊ณ ์ถ์ ์ปค๋ฐ์ ๋๋ฅธ ํ reset์ธ '์ด ์ปค๋ฐ๊น์ง ํ์ฌ ๋ธ๋์น๋ฅผ ์ด๊ธฐํ'๋ฅผ ๋๋ฅด๋ฉด ๋๋ค.
(6) ํ์ธํด ๋ณด๋ฉด ๋ด์ฉ์ ์ถ๊ฐํ๋
์ด์ ์ํ๋ก ๋์์จ ๊ฒ์ ํ์ธํ ์ ์๋ค.
๋ธ๋์น์ ์ปค๋ฐ์ ์ง์ ๋ณด๊ณ ์ดํดํด ๋ณด์.
$ clear
$ git commit
$ git commit
ํด๋น ๊ทธ๋ฆผ์ ์ปค๋ฐ์ c3๊น์ง ๋ฌ์๋์ ์ํ์ด๋ค.
์ด๋, c3์์ c2๋ก ๋๋๋ฆฌ๊ณ ์ถ๋ค๋ฉด
revert๋ฅผ ์ด์ฉํด ๋๋๋ฆด ์ ์๋ค.
$ git revert c2
revert๋ฅผ ํด์ค ๋ชจ์ต์ด๋ฉฐ,
๋ณด์๋ค์ํผ c3 ์ปค๋ฐ์ด ๋ณด์กด๋ ์ํ๋ก c2๋ก ๋ค์ ๋๋์ ๊ฐ ๊ฒ์ ๋ณผ ์ ์๋ค.
์ด๋, c2' ํํ๋ก ์ปค๋ฐ์ด ๋์๋๋ฐ
์ด๊ฒ์ c2์ธ ์ปค๋ฐ์ ์์์ผ๋ก ์๋ก ์์ฑํ ๊ฒ์ด๊ธฐ์ c2์ ๋ด์ฉ์ด ์ผ์นํ๋ค.
์ด๋ก์จ revert๋ ์ปค๋ฐ์ ๋ณด์กดํ๋ฉด์ ์์ ๋๋ ํฐ๋ฆฌ์ ๋ด์ฉ๋ง
๋๋๋ฆด ์ ์๋ ๊ฒ์ด๋ผ๋ ๊ฒ์ ์ ์ ์๋ค.
revert
๋์ commit์ HEAD์ปค๋ฐ์ ์์์ผ๋ก ์๋ก ์์ฑํด
์ด์ commit์ ๋ณด์กดํ ์ํ๋ก ๋๋๋ฆฌ๊ธฐ๊ฐ ๊ฐ๋ฅํ๋ค.
revert ๋์ ์ปค๋ฐ์ ์ฌ๋ผ์ง์ง ์๋๋ค.
revert ๋์ ์ปค๋ฐ์ ๋ด์ฉ์ ๋๋๋ฆฐ ์๋ก์ด ์ปค๋ฐ์ด ์๊ฒจ๋๋ค.
< ์ฅ์ >
์ด์ ์ปค๋ฐ ๊ธฐ๋ก์ด ๋ค ๋จ์ ์์ด ๋์๊ฐ ์ ์๋ค.
๋ชจ์์ด ๊น๋ํด ๋ณด๊ธฐ ํธํ๋ค.
< ๋จ์ >
์ถฉ๋์ด ๋ ๊ฐ๋ฅ์ฑ์ด ๋งค์ฐ ๋๋ค.
๋ค์ ์ด๋ ต๋ค.
๋๋๋ฆฌ๊ธฐ์ ์ ์๋ต๊ฒ ๊ต์ฅํ ๊น๋ํ๊ณ
ํ์คํ ๊ฒ ๊ฐ๋ค.
reset - branch ์์ฑ - revert
์์ง ๋ง์.
< ์ฐธ๊ณ >
์ธํ๋ฐ - git๊ณผ github
https://www.inflearn.com/course/git-and-github
โป ํด๋น ๊ธ์ ์ต๋ ๋ชฉ์ ์ผ๋ก ์์ฑ๋ ๊ธ์ ๋๋ค โป
๋๊ธ