취미가 좋다
git 되돌리기(reset, revert) 간단 설명 본문
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
'개발 기타 > 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