git commit & push 된거 강제 rollback 하기(원격저장소 원복)
2017. 11. 24. 14:07ㆍIT개발/SVN & Git
반응형
오늘 새벽까지 개발한 버전을 commit 하고 push를 하였다. 오늘 아침에 출근해보니 팀원이 자신의 소스가 사라졌다고 한다.
불길한 예감 으... 나의 실수(잘못 revert)로 팀원의 소스를 날린 채 commit 하고 push 한 것이다.
일단 침착하게 팀원의 소스가 살아있고, 내 소스도 살아 있는 시점으로 롤백을 해야 했다.
첨에 죄송한 나머지 어떻게 해결해야할지 몰라 소스트리만 붙잡고 누르다보니 시간만 가고, 결국 찾다찾다 오전을 다 날리고서야 찾았다...
아래의 노란색 하이라이트된 명령을 통해 특정시점의 소스로 강제 push 시켰다.
(단, 주의할점은 특정시점의 커밋 이후 모든 커밋들은 삭제된다.)
아래는 위의 명령어를 수행한 텍스트 결과를 붙여넣었다.( 긁어다 쓰세요 )
ecis-36@ecis-36 MINGW32 /c/project/git/ecisbasic ((958f087a...)) $ git reset 958f087a ecis-36@ecis-36 MINGW32 /c/project/git/ecisbasic (base) $ git push origin +base Total 0 (delta 0), reused 0 (delta 0) remote: remote: Create pull request for base: remote: https://bitbucket.org/ddasix/ecisbasic/pull-requests/new?source=base&t=1 remote: To https://bitbucket.org/ddasix/ecisbasic.git + b2f92e50...958f087a base -> base (forced update) |
ecis-36@ecis-36 MINGW32 /c/project/git/ecisbasic ((958f087a...))
$ git reset 958f087a
ecis-36@ecis-36 MINGW32 /c/project/git/ecisbasic (base)
$ git push origin +base
Total 0 (delta 0), reused 0 (delta 0)
remote:
remote: Create pull request for base:
remote: https://bitbucket.org/ddasix/ecisbasic/pull-requests/new?source=base&t=1
remote:
To https://bitbucket.org/ddasix/ecisbasic.git
+ b2f92e50...958f087a base -> base (forced update)
최종결과
아래와 같이 포커스된 커밋버전으로 모두 롤백이 되었다.
(단, 특정커밋 이후 커밋들은 모두 삭제됨. 테스트 한 커밋들이라 삭제해도 무방해서 본인은 날려버렸음. )
휴~팀원들에게 민폐를 끼치다니 너무 죄송하다... 다음부턴 주의를 더 기울려 pull 을 받고 충돌을 해결해야겠다.
참고자료 : http://whiteship.me/?p=13516 , [Git] 아흑.. 커밋을 잘못했네;; 세상에 푸쉬까지 해버렸는데… 어쩌지…
반응형
'IT개발 > SVN & Git' 카테고리의 다른 글
Git remote 저장소 정보 조회 하기 (0) | 2021.07.02 |
---|---|
bitbucket 신용카드 미결재시, push 불가 (0) | 2021.02.02 |
git 원격저장소의 최신소스로 덮어쓰기(로컬소스 바이짜이찌엔) (0) | 2021.01.13 |
git 은 폴더/파일명의 대소문자를 개무시한다. 그럼 우째? (0) | 2021.01.08 |
[git] (실수로) 삭제된 commit 복구하기 (0) | 2017.07.27 |