์ ๋ฒ์ ๋๋๋ฆฌ๊ธฐ์ ์ ์์ธ 'revert'์ ๋ํด์ ๋ฐฐ์๋ดค๋๋ฐ
์ด๋ฒ์๋ 'revert'๋ฅผ ๋ค์ ํ๋ฒ ๋ณต์ตํด๋ณด๊ณ
์กฐ๊ธ ๋ ์์ฉํ๋ ์๊ฐ์ ๊ฐ์ ธ๋ณด์.
'revert' ๋ณต์ตํ๊ธฐ
(1) ๋จผ์ ๋ณต์ตํ๊ธฐ์ ์์์ ๊ธฐ์กด์ ํ์ผ์ ํผ์์ํค์ง ์๊ธฐ ์ํด์
ํ ์คํธ์ฉ ๋ธ๋์น๋ฅผ ์์ฑํด ์ค๋ค.
(๋๋ 'test'๋ผ๋ ๋ธ๋์น๋ฅผ ์์ฑํ๋ค.)
(2) 'test' ๋ธ๋์น๋ก ์ฒดํฌ์์ ํด์ค ์ํ๋ก ์๋ก์ด ํ์ผ์ ๋ง๋ค์ด
๋ด์ฉ์ ์์ฑํด์ค ๋ค์ ์ปค๋ฐํ๋ค.
(3) ์์ ์ฒ๋ผ ๋ด์ฉ์ ํ ์ค์ฉ ์ถ๊ฐํด ์ฃผ๋ฉด์
์ปค๋ฐํ๋ ๊ฒ์ 3-4๋ฒ ์ ๋ ๋ฐ๋ณตํ๋ค.
(4) ์ปค๋ฐ์ ๋ค ์๋ฃํ ์ํ์ด๋ค.
์ด๋, commit3 ์ปค๋ฐ์์ commit2๋ก ๋๋๋ฆฌ๊ณ ์ถ๋ค๋ฉด,
'์ปค๋ฐ ๋๋๋ฆฌ๊ธฐ' revert๋ฅผ ์งํํด์ฃผ๋ฉด ๋๋ค.
(reset์ ๊ฒฝ์ฐ๋ ๋๋๋ฆฌ๊ณ ์ถ์ ์ปค๋ฐ์ ๋๋ฌ์ ์งํํ์ง๋ง,
revert๋ ๋๋๋ ค์ผํ๋ ์ปค๋ฐ์ ๋๋ฌ์ผ ํ๋ฏ๋ก ํท๊ฐ๋ฆฌ์ง ์๋๋ค.)
(5) ์งํํ๋ฉด commit3 ์ปค๋ฐ์ด ์ฌ๋ผ์ง์ง ์๊ณ ,
์ด์ ์ปค๋ฐ์ผ๋ก ๋๋์ ๊ฐ ๊ฒ์ ํ์ธํ ์ ์๋ค.
(์๋ํฐ์์ ์์ฑ๋ ํ์ผ์์๋ ํ์ธ์ด ๊ฐ๋ฅํ๋ค.)
'revert' ์์ฉํ๊ธฐ
(1) ๊ทธ๋ ๋ค๋ฉด ๋ฐ๋ก์ ๋จ๊ณ๊ฐ ์๋
commit3 ์ปค๋ฐ์์ commit1 ์ปค๋ฐ์ผ๋ก
๋๋๋ฆฌ๊ณ ์ถ๋ค๋ฉด ์ด๋ป๊ฒ ํด์ผ ํ ๊น?
(2) ๋จผ์ commit3์์ ์ปค๋ฐ ๋๋๋ฆฌ๊ธฐ revert๋ฅผ ์งํ์ํจ๋ค.
์งํ์ํค๋ฉด commit2๋ก ๋ด์ฉ์ด ๋๋์ ๊ฐ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
๊ทธ๋ฐ ๋ค์์ ํ์ฌ commit2 ์ธ ์์ ์์ ๋ค์ ์ปค๋ฐ ๋๋๋ฆฌ๊ธฐ revert๋ฅผ ์งํ์ํค๋ฉด
commit1์ผ๋ก ๋๋์ ๊ฐ ์ ์๋ค.
(3) ์๋ํฐ์์ ๋ด์ฉ์ ํ์ธํ๋ฉด ๋๋์ ๊ฐ ๊ฒ์ ํ์ธํ ์ ์๋ค.
์ด๋, ์ฃผ์ํด์ผ ํ ์ ์ commit3์์ commit1์ผ๋ก ๋์๊ฐ๋ค๊ณ ํด์
๋ฐ๋ก commit1์์ revert๋ฅผ ํด์ฃผ๋ ๊ฒ์ด ์๋๋ผ
์์ฐจ์ ์ผ๋ก ์งํ์์ผ์ค์ผ ํ๋ค๋ ๊ฒ์ด๋ค.
'revert' ํฐ๋ฏธ๋
(1) ์ด๋ฒ์๋ ํฐ๋ฏธ๋๋ก ์งํ์ ํด๋ณด๋๋ก ํ์.
๋ง์ฝ, commit3์์ commit2๋ก ์ด๋ํ๊ธฐ๋ฅผ ์ํ๋ค๋ฉด
'Git revert HEAD'๋ฅผ ์ ๋ ฅํด ์ฃผ๋ฉด ๋๋ค.
์ด๋, HEAD๋ ๋ด์ฉ์ ์ถ๊ฐํ๊ธฐ ์ ๊ฐ์ฅ ์ต์ ์ ์ํ๋ฅผ ์๋ฏธํ๋ค.
์ด๋ฒ์๋ commit3์์ commit1์ผ๋ก ์ด๋ํ๋ ค ํ๋ค๋ฉด
'Git revert HEAD HEAD~1'์ ์ ๋ ฅํด์ฃผ๋ฉด ๋๋ค.
HEAD~1 ์ HEAD๋ฅผ ์ถ๊ฐํ๊ธฐ ์ ๊ฐ์ฅ ์ต์ ์ ํ์ธ
HEAD์ ์๋น ๋ผ๊ณ ๋ณด๋ฉด ๋๋ค.
(์ซ์๊ฐ ๋ ์ปค์ง์๋ก ๋ค๋ก ๊ฐ๋ค๊ณ ๋ณด๋ฉด ๋๋ค.)
(2) ์ํ๋ revert๋ฅผ ์ ๋ ฅํ ๋ค์ ์ํฐ๋ฅผ ์น๋ฉด ์ด๋ฐ ์ด์ํ ์ฐฝ์ด ๋์ค๋๋ฐ
commit3์ ๋ฆฌ๋ฒํธ ํ๋ ๊ตฌ์ญ์ด๋ผ๊ณ ๋ณด๋ฉด ๋๋ค.
๋จผ์ , ESCํค๋ฅผ ๋๋ฅธ ๋ค์ ':wq'๋ฅผ ์ ๋ ฅํด์ฃผ๋ฉด ๋๋ค.
๊ทธ๋ฌ๋ฉด ๋น์ทํ ์ฐฝ์ด ๋ ๋์ค๋๋ฐ
์ด๋ฒ์๋ commit2๋ฅผ ๋ฆฌ๋ฒํธํ๋ ๊ตฌ์ญ์ด๋
์๊น ์ ๊ณผ ๋๊ฐ์ด ์ ๋ ฅํด ์ฃผ๋ฉด ๋๋ค.
'revert'์ ๋ํด ์ฐ์ต์ ๋ค ํ๋ค๋ฉด,
๋ด์ฉ์ ํผ๋์ ๋ฐฉ์งํ๊ธฐ ์ํด ๊ทธ๋ฅ ํด๋น ๋ธ๋์น๋ฅผ ์ญ์ ํ๋ฉด ๋๋ค.
'revert' ๋ณต์ต
'revert'๋ก ์ฝ๊ฒ ์ปค๋ฐ์ ๋๋๋ฆด ์ ์๋ค.
'revert'๋ก ๋๋๋ฆฌ๋ฉด ์ด์ ์ปค๋ฐ์ด ๋จ๊ธฐ ๋๋ฌธ์ ํธ๋ฆฌํ๋ค.
SourceTree์์๋ [์ปค๋ฐ ์ ํ] - [์ฐํด๋ฆญ] - [์ปค๋ฐ ๋๋๋ฆฌ๊ธฐ]
'revert' ์์ฉ
'revert'๋ก ์ฌ๋ฌ ์ปค๋ฐ์ ๋๋๋ฆฌ๊ธฐ ์ํด์
์ต์ ๋ถํฐ ์์๋๋ก 'revert'๋ฅผ ๋ฐ๋ณต ์ ์ฉํด์ค๋ค.
'revert' ๋ช ๋ น์ด
git revert HEAD
git revert HEAD HEAD~1
revert์ ๊ฐ๋ ๋ ์ค์ํ์ง๋ง
์ค์ง์ ์ผ๋ก๋ ์์ฉ์ด ๊ต์ฅํ ๋ง์ด ์ฐ์ด๊ณ ์ค์ํ ๊ฒ ๊ฐ๋ค.
์ ์ตํ๋ณด์.
< ์ฐธ๊ณ >
์ธํ๋ฐ - git๊ณผ github
https://www.inflearn.com/course/git-and-github
โป ํด๋น ๊ธ์ ์ต๋ ๋ชฉ์ ์ผ๋ก ์์ฑ๋ ๊ธ์ ๋๋ค โป
'๊ฐ์ธ๊ณต๋ถ > Git & GitHub' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Git & GitHub] ์์ ์ค์ธ ๋ด์ฉ ์์ ์ ์ฅ : stash (0) | 2020.05.28 |
---|---|
[Git & GitHub] ์์ ์ค์ธ ๋ด์ฉ ์์ ์ ์ฅ : branch (0) | 2020.05.27 |
[Git & GitHub] ์ด์ commit์ผ๋ก ๋๋๋ฆฌ๊ธฐ : revert์ ๊ฐ๋ (0) | 2020.05.25 |
[Git & GitHub] ์ด์ commit์ผ๋ก ๋๋๋ฆฌ๊ธฐ : branch ์์ฑ (0) | 2020.05.24 |
[Git & GitHub] ์ด์ commit์ผ๋ก ๋๋๋ฆฌ๊ธฐ : reset์ ๊ฐ๋ (0) | 2020.05.23 |
๋๊ธ