본문 바로가기
IT/Git

git revert로 커밋 원래대로 복구하기

by 뉴코딩맨 2023. 2. 8.
코드를 작성하다 보면 때로는 실수가 발생할 수밖에 없습니다. 이때 중요한 것은 실수를 빠르게 수정하고 과거의 안정된 상태로 되돌릴 수 있는 방법을 가지고 있다는 것입니다. 이러한 기능을 제공하는 Git의 'Revert' 명령어는 우리의 코드 작업을 안전하게 보호해 줍니다.
 
 

2. Revert 명령어란?

Revert 명령어는 이전 커밋의 변경 사항을 취소하고, 이전 상태로 돌아가는 역할을 합니다. 이는 과거의 버전을 수정하거나 특정 커밋의 변경을 제거하고자 할 때 유용합니다.
 

3. Revert vs Reset: 둘의 차이점은?

Revert와 Reset은 비슷해 보일 수 있지만, 큰 차이점이 있습니다. Reset은 과거 커밋으로 작업 트리와 인덱스를 되돌리는 반면, Revert는 새로운 커밋을 생성하여 특정 변경 사항을 취소합니다. 이로써 기존 커밋 히스토리를 유지한 상태로 실수를 수정할 수 있습니다.
 

4. Revert 사용 방법

Revert 명령어를 사용하는 방법은 간단합니다.

 

git revert <commit-hash>
 
여기서 <commit-hash>는 취소하려는 변경 사항이 포함된 커밋의 해시값입니다.
 
 

5. Revert 예시: 어떻게 활용할까?

예를 들어, 최신 커밋에서 발생한 버그를 수정하려면 다음과 같이 명령어를 사용할 수 있습니다.
 
git revert abc123
 
이렇게 하면 abc123 커밋의 변경 사항이 취소된 새로운 커밋이 생성됩니다.
 

6. 주의사항과 팁

  • Revert한 커밋 역시 히스토리에 남게 됩니다. 따라서 필요한 경우 특정 변경 사항을 확인할 수 있습니다.
  • 여러 커밋을 순차적으로 Revert하려면 주의가 필요합니다. 충돌이 발생할 수 있으며, 순서를 잘 고려해야 합니다.

7. Revert와 협업

협업 환경에서도 Revert는 유용합니다. 다른 개발자가 작성한 코드가 문제를 일으키는 경우, 해당 변경 사항을 취소하여 안정된 상태로 복구할 수 있습니다.
 

8. Revert의 장점

  • 과거의 코드 상태를 복구할 수 있어 실수를 빠르게 수정할 수 있습니다.
  • 변경 이력을 유지한 채로 문제를 해결할 수 있습니다.

 

 

git reset으로 커밋 취소하기

git reset "commit-hash" 명령어를 사용하면 해당 시점으로 파일의 상태가 변경되고 이후의 커밋은 삭제가 된다. --hard 옵션을 사용하지 않으면 파일의 변경 내용은 그대로 유지가 된다. git reset --hard "co

newcodingman.tistory.com

 

댓글