[Git] Git Commit을 되돌리는 방법을 찾으시나요..? (feat. Soure Tree)

Pudrioid·2024년 3월 6일

Intro

최근 Android Studio에서 Git을 통한 프로젝트 관리 중,

실수로 잘못된 Commit을 하는 경우가 종종 발생했다.


원하지 않는 파일을 Commit하거나

Commit Message에 오타를 내고 Commit 경우가 드물지 않게 발생한다..!

실제로, 이런일이 몇 번 발생했는데 되돌릴 방법을 몰라 그냥 Push해버렸다는..


따라서 이번 포스팅에선,

Source Tree를 활용한 Commit 실수 대처 방법에 대해 알아보려 한다!!





Commit 되돌리기


현재 Test 1 까지 Remote에 올라가 있고

Test 2, Test 3 을 잘못 Commit 했다고 가정해보자.

현재 내 Local을 Test 3에서 Test 1로 되돌리고 싶다면 어떡해야 할까??

  1. 원하는 커밋 내역에 마우스 오른쪽 키를 눌러 이 커밋까지 현재 브랜치를 초기화 를 눌러준다


  1. 다음 선택지 중 한 개를 클릭하면 되지만, 차이점이 존재한다.


Soft

"모든 로컬 변경사항 유지"

다음과 같이 Soft로 설정 후 초기화를 진행하면,

1. 커밋이 되돌려지고

2. 스테이지에 파일이 올라가게 된다.

이때 스테이지내가 커밋할 파일들을 모아두는 공간이며,
왼쪽 위의 커밋 버튼을 클릭해 스테이지에 올라간 파일들만 커밋된다.



Mixed

"작업 상태는 그대로 두지만 인덱스는 리셋"

다음과 같이 Mixed로 설정 초기화를 진행하면,

1. 커밋이 되돌려지고

2. 스테이지가 비어버린다.

커밋하려했던 파일들이 Stage에서 사라지기 때문에
바로 아래 "스테이지에 올라가지 않은 파일" 목록에서 커밋을 원하는 파일을 위로 올려야 한다.



Hard

"모든 작업 상태 내 변경 사항을 버림"

Hard로 커밋을 초기화 할 경우,

1. 커밋이 되돌려 지고
2. 되돌려진 커밋 이후의 작업들은 전부 사라진다..!

Hard의 경우 많은 고민이 필요할 것 같다.. ㅎㅎ





정리

Git 사용 중 실수로 올린 Commit에 대해 SoureTree를 통한 극복 방법을 알아봤다.

  1. 되돌리기 원하는 Commit 지점에서 "이 커밋까지 현재 브랜치 초기화"

  2. Soft, Mixed, Hard 타입으로 되돌릴 수 있으며 나는 웬만하면 Soft 방법을 추천한다!!

profile
안녕하세요 자라는 새싹 안드로이드 개발자입니다.

0개의 댓글