leeda-cloud

[SOURCETREE] 소스트리에서 커밋 되돌리기 본문

Git

[SOURCETREE] 소스트리에서 커밋 되돌리기

leeda-cloud 2024. 3. 31. 02:22

가끔 소스트리에 푸시를 하고 나서 멍청한 짓을 했다는 걸 알아차릴 때가 있다.

소스트리에서 멍청한 짓을 한 흔적을 완전히 지워버리고 싶은데 아무리 해도 흔적이 남아 당황하던 중 찾은 방법!

 

잘못 올린 소스트리

먼저 이런 식으로 2번의 푸시를 한 git이 존재한다.

하지만 여기서 내가 2차 테스트란 이름으로 올린 커밋에 실수가 존재한다면?

저 2차를 완전히 지워버리고 깨끗하게 다시 올리고 싶다.

 

그럴때 존재하는 것이 git 초기화!

먼저 되돌리고 싶은 커밋에서 우측 마우스 클릭 후 브랜치 초기화 클릭한다.

소스트리 깃 초기화

그 다음 뜨는 초기화 창에서 Hard를 클릭!

왜냐하면 흔적조차 남기지 않고 삭제할 것이기 때문이다.

소스트리 커밋 초기화

그럼 이제 소스트리에는 아직 흔적이 보이지만 1차 테스트 커밋으로 다시 복구된 상태이다. 

커밋 초기화 후의 소스트리

여기서 문제가 무엇이냐하면 pull에 남은 저 1의 흔적이다.

pull을 하면 당연히 잘못 올린 2차 테스트 커밋이 다시 받아지기 때문에 여기서 pull을 누르면 안된다.

우선 다시 올린 내용을 커밋해준다. 

소스트리 다시 올리기

그럼 이렇게 pull 하나 push 하나가 생기는데  여기서 그냥 push를 누르면 pull하지 않았다고 에러가 뜬다.

그렇기에 여기서 중요한 설정을 고쳐야하는데 소스트리의 상단 도구에서 옵션을 클린한다.

소스트리 도구 옵션

그리고 나오는 창에서 강제 푸시 가능을 체크표시로 설정해준다.

강제 푸시 가능 체크하기

그리고 다시 push를 누르면 강제푸시 기능이 활성화 되는데 여기서 다시 체크를 눌러준다.

푸시하기

그러고 push를 진행해주면 깔끔하게 다시 올라간 소스트리가 확인 가능하다.

Comments