본문 바로가기

DevOps/GIT

[GIT] 원격 저장소에 Reset, Revert Push하기

Reset 과 Revert 의 가장 큰 차이점은, 
해당 커밋에 대한 이력이 남느냐, 남지 않느냐라는 부분이고, Reset 의 경우, 아예 없던 일 처럼 초기화, 즉 이력이 남지 않게되고, Revert 의 경우에는, 커밋에 대한 이력과 Revert 이력 둘다 남게 되는 차이점이 있다. 

// commit a1234 있다는 가정하 진행

// git reset [옵션] [Commit ID] 
// soft : Index 유지, 로컬 작업 파일 유지 ( Index : ADD, staged 상태 여부 ) 
// mixed(default) : Index 취소, 로컬 작업 파일 유지
// hard : Index 삭제, 로컬 작업 파일 삭제
# git reset --hard a1234  


// git revert [ Commit ID ]
# git revert a1234

 

Revert 시

# git push [원격저장소] [작업저장소]

 

Reset 시, force ( 강제 ) 옵션을 넣어주어야 Push 가능.

# git push -f [원격저장소] [작업저장소] 
또는
# git push --force [원격저장소] [작업저장소]