개발새발

[Git] commit 무효화하기 (git reset) 본문

Git & GitHub

[Git] commit 무효화하기 (git reset)

칸쵸. 2023. 12. 25. 23:41
728x90

 

버전관리의 또 다른 효용 : 과거로 돌아가기

커밋을 취소하는 명령어 git reset (사용에 주의가 필요함)

 

현재의 로그를 취소해서 과거(이전 버전)로 돌아가고싶은 경우

 

방법 1 : reset / 방법 2 : revert

 

1. 특정 버전의 상태로 돌아가고싶다


git reset 커밋id  --hard
> 해당 커밋 이후의 버전 삭제 & 해당 버전으로 복귀
hard : 심플한 작동을 위해 적용한 옵션(안전성 매우 떨어짐)

 

그 외에 soft와 mixed 옵션도 존재하는데 잘 쓸 일은 없다

git reset 커밋id --soft,

git reset 커밋id --mixed

눈으로 보기에는 log에 존재하지 않는 이후 버전이 삭제 된 것처럼 보이지만, git은 웬만하면 정보 자체를 삭제하지 않는다
(눈에 보이지 않을 뿐, 그 정보는 남아있음 == 복구 가능)

후에 원격저장소 github를 통해서 협업 가능
저장소의 버전을 인터넷을 통해 공유
공유 이후에는 git reset를 절대절대로 해서는x
내 컴퓨터 안에만 있는 버전에 대해서만 reset 작업을 진행하자


2. git revert


reset과 달리, 해당 커밋을 취소하면서 새로운 버전을 생성한다

위의 두 명령어는 추후 정말 절박한 상황에서나 필요할 것이니...
버전 생성, 버전과 버전 사이 차이점 확인이나 잘 알아두자

'Git & GitHub' 카테고리의 다른 글

[Git] 최종 commit을 변경하는 git amend  (1) 2024.01.05
[Git] 변경 사항 확인 (log & diff)  (0) 2023.12.25
[Git] Git의 개념부터 버전 생성까지  (0) 2023.12.17
[GitHub] Octotree  (0) 2023.09.15