-
[Git] Git 되돌리기 Reset & RevertComputer Science/Git 2019. 5. 16. 13:41반응형
이미 커밋한 버전을 취소하는 방법
- Git Reset
- SourceTree 에서 되돌리고 싶은 버전을 선택하고 마우스 우클릭을 누른다.
- Reset current branch to this commit 을 선택한다.
- Using mode 에서 'Hard - discard all working copy chages'를 선택하고 OK를 누른다.
- 선택한 버전 이후의 모든 버전이 삭제되고, 현재 커밋하지 않은 내용, stage에 올려놓은 내용 전부 삭제된다. (working copy의 상태도 변경됨)
- 이 기능은 조심해서 다루어야 한다.
-
되돌린 버전 이후의 버전들은 삭제하면서, working copy의 상태는 아직 커밋하지 않은 상태로 유지하고 싶다면, 이때도 reset을 사용한다.
- sourceTree에서 되돌리고 싶은 버전을 선택하고 마우스 우클릭을 누른다.
- Reset current branch to this commit을 선택한다.
- Using mode 에서 'Mixed - keep working copy but reset index' 를 선택하고 OK를 누른다.
- 되돌린 버전 이후의 버전들은 삭제되고, Uncommitted changes에 working copy의 상태는 커밋하기 전 상태로 남아있다.
-
명령어
$ git reset {commit번호}
-
Git reset의 3가지 옵션
- soft
- mixed
- hard
-
Git Revert
- 예전 버전으로 돌아가는 또 다른 방법
- Revert는 선택한 버전을 취소해서 그 버전 이전 상태로 돌리는 것이 revert 이다.
- 취소하고 싶은 버전을 선택하고 마우스 우클릭을 누른다.
- reverse commit을 선택한다.
- 되돌린 버전 이후의 버전을 삭제하지 않고, 이전 버전으로 커밋되며 새로운 버전이 만들어진다.
- Reverse commit 을 누르면 선택한 버전의 상태로 revert 된다.
- 여러 단계 전의 버전을 revert하면 confilct(충돌)가 발생할 수 있기에 순차적으로 revert 하는 것을 권장한다.
-
명령어
git revert {commit번호}
-
reset과 revert의 차이
- reset : 선택한 버전의 상태로 돌아오는 것. 버전을 지운다. 특정 커밋으로 돌아갈 수 있는데, 되돌린 버전 이후의 버전들은 히스토리에서 삭제 된다.
- revert : 선택한 버전을 취소해서 그 이전 상태로 되돌리는 것. 버전을 유지하면서 되돌린 버전으로 커밋을 만들어준다. 특정 버전으로 되돌아갈 수 있지만, 되돌린 버전 이후의 버전들의 이력은 남아있다.
반응형'Computer Science > Git' 카테고리의 다른 글
[Git] Git 계정 설정 (0) 2020.04.20 [Git] git config 설정 (0) 2019.05.29 [git error] Your local changes to the following files would be overwritten by merge (0) 2018.08.20 Synchronize the git fork repository to the latest version (0) 2018.08.20 git command (0) 2018.08.20 - Git Reset