[Git/Sourcetree] 소스트리에서 커밋(Commit) 되돌리기 - JJB.
by JJB.Sourcetree에서 Commit 되돌리기
프로젝트를 진행하다 보면 어떠한 상황에 의해 Commit 시점을 되돌려야 하는 상황이 정말 자주 발생합니다.
이때 git 혹은 Sourcetree 사용에 익숙지 않은 분들이라면 Branch에 다른 문제가 발생하진 않을지 걱정이 앞서는데요.
Sourcetree에서 신속 정확하게 Commit 시점을 되돌리는 방법을 말씀드리겠습니다.
브랜치 체크아웃
먼저 Commit 시점을 되돌릴 브랜치로 이동을 합니다.
History 확인
커밋을 되돌릴 시점 찾기
저의 경우 'ArtAssetsManager.cs added.' 시점으로 되돌리기를 진행하겠습니다.
되돌릴 시점을 찾으셨다면 해당 부분에서 '마우스 우클릭'을 하시면 아래와 같은 메뉴가 나오는데,
'이 커밋까지 현재 브랜치를 초기화'를 클릭하시면 됩니다!
Commit 시점 초기화
'이 커밋까지 현재 브랜치를 초기화'를 클릭하시면 위와 같은 팝업이 노출되는데요.
Soft
해당 시점 위로 모든 작업물을 그대로 두고, 아래 사진과 같이 '스테이지에 올라간 파일' 영역에 변경사항들이 위치하게 됩니다.
Mixed
해당 시점 위로 모든 작업물을 그대로 둡니다. 아래 사진과 같이 '스테이지에 올라가지 않은 파일' 영역에 변경사항들이 위치하게 됩니다.
Hard
해당 시점 위로 모든 작업물을 버리게 됩니다. 아래 사진과 같이 모든 변경사항들이 없어진 상태입니다.
강제 푸시
커밋 시점 초기화까지 진행을 하고 나면, 위와 같이 pull 아이콘에 숫자가 생기는데 마지막 변경 시점까지의 Commit 개수를 표시해주게 됩니다. 여기서 pull을 받으면 Commit 되돌리기 이전 즉 마지막 시점으로 다시 돌아가게 됩니다.
하지만 우리가 원하는 건 브랜치 커밋 사항을 이전 시점으로 되돌리는 거죠?
그렇다면 강제 푸시를 진행해야 합니다. (원래 방식대로 push를 진행하면 pull을 받고 진행하라는 에러 메시지가 노출됩니다.)
먼저 push 아이콘을 클릭하면 팝업이 노출되는데, 아래쪽 강제 푸시 체크박스가 비활성화되어 있습니다. 해당 체크박스를 먼저 활성화시켜줘야 하는데요.
'도구 => 옵션 => Git Tab'으로 이동을 하시면 아래와 같이 '강제 푸시 가능' 체크박스가 보이는데, 활성화시켜 줍니다.
그리고 다시 Push 버튼을 클릭하면 강제 푸시 체크박스가 활성화되어있는데, 체크를 해주고 푸시를 진행하면 됩니다.
'강제 푸시를 계속 진행할 거냐?'라는 경고 팝업이 뜨는데 '예'를 클릭해 줍니다.
강제 푸시가 완료되었습니다!
마치며
Commit 시점을 되돌릴 땐 협업하시는 분들의 동의를 받아 진행하시는 게 좋고, 다시 한번 생각해보시고 진행하시는 걸 추천드려요~
최대한 자세하게 사진을 첨부하며 설명을 해드렸는데, 혹시나 빠진 부분이나 미흡한 부분이 있다면 댓글 달아주세요!
블로그의 정보
JJB's gloomy DEV
JJB.