-
9. Merged된 PR을 되돌리자 - Github스프링개발자/201 - 일반 2020. 7. 18. 05:53
[배경]
VCS를 사용하면서 남들의 review를 기다리고 있는 PR을 실수로 merge할 수 있다. (오늘 일어났다)
보통은 closed PR 섹션에 들어가면 `revert branch` 라는 버튼이 있으나, 없는 경우도 있다
git commands로 되돌리는 방법이 귀찮긴하지만, 가장 확실한 방법이니 여기서 연습하자
1. 되돌릴 branch와 commit을 생성
git branch test-revert git checkout test-revert 파일을 변경한다 git add . git commit -m "commit to be reverted" git push
2. PR을 만들고 merge를 한다
이 Push Request는 Commit이 두개인걸 확인할 수 있다. 실수로 master 브렌치에 merge를 한 다음에 8분전에 만든
commit만을 뒤돌리자
3. 특정 commit만을 revert한다
그림을 보면, 오른쪽 아래에 Revert버튼이 있다. 이걸누르면, 두개의 commit을 되돌리는 하나의 commit을 만든다.
위의 두개의 commit이 각 한가지 파일만 바꿨으므로, 아래의 자동생성되는 revert PR이 두 commit모두를 revert한다고 확인할수 있다.
우리가 원하는 것은 fc259e6으로 시작하는 commit만을 되돌리고 싶다.
"git reset" 명령어를 쓰기 위해서는 배제할 commit이 필요 한게 아니라, 돌아가고 싶은 commit을 알아야 한다.
두가지 방법이 있다.
- repo 페이지에서 커밋번호 3e55218를 클릭해서 full commit version을 확인한다
- 터미널에서 git log 명령어로 내가 돌아가고 싶은(실수하기 바로 이전) commit 을 확인한다
우리의 경우엔;
3e55218863e71ea01816b00aca09aa0203fbf755
git checkout test-revert git reset --hard 3e55218863e71ea01816b00aca09aa0203fbf755 git push -f origin head
master branch에 가서 fc259e6의 커밋 내용이 없어졌는지 확인하자.
'스프링개발자 > 201 - 일반' 카테고리의 다른 글
11. Proxy를 셋업하자 - (2) 코딩으로 (0) 2020.07.22 10. Proxy를 셋업하자 - (1) JVM 설정으로 (0) 2020.07.22 8. 젠킨스와 Git repo를 연결해보자 - 완성중 (0) 2020.07.16 7. 프로젝트 관리 툴 (Jira, Rally, Asana) (0) 2020.07.16 6. 젠킨스 설치하고 CI 연습을 해보자 (0) 2020.07.16