취미가 좋다

git 되돌리기(reset, revert) 간단 설명 본문

개발 기타/git

git 되돌리기(reset, revert) 간단 설명

benlee73 2023. 1. 29. 10:41

git reset

브랜치를 지정한 커밋으로 이동한다.

지정한 커밋은 부모쪽 커밋일수도 자식쪽 커밋일수도 있다.

옵션

- hard : 돌아가려는 커밋 이후의 모든 내용들이 사라진다.

- soft : 돌아가려는 커밋으로 돌아가고 이후의 모든 내용들이 stage 상태로 남아있다. (git add 된 상태) 커밋을 다시 할 수 있는 상태

- mixed : 돌아가려는 커밋으로 돌아가고 이후의 모든 내용들이 unstage 상태로 남아있다. (git add 이전 상태) (default)

 

(hard 옵션은 git branch -f main main~1 와 같은 것 같다.)

(hard 옵션은 변경사항 다 무시하고 해당 브랜치, 커밋으로 이동시킨다.)

 

 

 

git reset main~1
git reset main^

git reset HEAD~1
git reset HEAD^

git reset c1

- 돌아가고 싶은 커밋이나 브랜치를 입력한다.

- reset 은 git push 을 하기 전에 사용한다.

 

 

 

 

git revert

 

- git revert 는 입력한 버전의 이전 버전으로 되돌리는 명령어다.

- 입력한 버전에 적용된 변경사항만 적용되는 것을 주의해야 한다.

- 따라서 여러 커밋을 건너 뛰기 위해서는 git revert 를 여러번 해야한다.

 

 

 

 

 

 

 

 

 

git revert HEAD
git revert main

- 되돌리고 싶은 커밋을 입력한다.

 

- c2 를 입력하면 c2 에 저장된 c1 으로부터 변경 사항들을 되돌려서 c2' 커밋을 만드는 것

- c1 처럼 중간에 껴있는 커밋을 제거할 수 있다. (충돌이 날 수 있다.)

- 제거했다는 이력이 남는 것이 reset 과의 차이점이다.

 

 

 

 

 

 

 

https://learngitbranching.js.org/?locale=ko 

 

Learn Git Branching

An interactive Git visualization tool to educate and challenge!

learngitbranching.js.org

 

'개발 기타 > git' 카테고리의 다른 글

git tag (태그) 간단 설명  (0) 2023.02.04
git cherry-pick(체리픽) 간단 설명  (0) 2023.01.29
git HEAD 간단 설명  (0) 2023.01.24
git rebase 간단 설명  (0) 2023.01.24
git merge 간단 설명  (0) 2023.01.24
Comments