[GIT] 잘못된 Pull Request 머지 하기 전에 수정하기
Git Pull Request 수정하기
협업을 하고 있다면 Git Pull Request를 통해 진행하고 있을 텐데,
만약 PR을 날린 뒤에 리뷰를 통과하지 못하거나, 미흡한 부분들이 발견되어 수정하라고 결과가 나왔을 때 단순히 Close 하는 게 아니라 날린 Pull Request를 수정하는 방법에 대해 알아보자.
우선 첫 번째 방법으로는 commit을 덮어 씌운 다음 push -f 옵션으로 해당 브랜치에 다시 밀어 넣는 방법이다.
1. Pull Request 날리기
이런 식의 Pull Request를 날렸다고 가정하자.
오타를 확인 못하고 Pull Request를 날려 이 오타를 수정하고 싶다.
2. 로컬에서 수정 후 git commit --amend를 통해 commit 덮어쓰기
3. git push -f origin [branch]를 통해 해당 브랜치를 원격 저장소에 push 하기
-f 옵션을 사용하는 이유는 강제로 Push를 해 줘야 하기 때문이다.
강제 push이기 때문에 사용할 때 조심해야 하고 본인만 사용하는 브랜치일 경우에는 딱히 상관은 없다.
(-f옵션을 주지 않으면 어차피 에러가 발생하니 -f옵션으로 강제 push를 진행해 주자.)
자 이렇게 따로 Pull Request를 날려줄 필요 없이 기존에 있던 Pull Request가 수정되는 것을 볼 수 있다.
참고: https://kimtaehyun98.tistory.com/119
두 번째 방법으로는 덮어씌우는 게 아니라 Pull Request에 커밋을 추가하는 것이다.
커밋 자체가 잘못됐다면 커밋을 수정하는 첫 번째 방법도 괜찮은 방법이나, 추가로 작업하거나 그냥 이력을 남기고자 한다면 덮어씌우는 것보다는 commit을 추가하는 게 나을 것이다.
이건 특별히 따로 보여줄 건 없고 첫 번째 방법이랑 크게 다를 건 없다 단지 강제 옵션을 주지 않는 것뿐
1. 로컬에서 작업 후 git commit을 통해 commit 을 추가해 준다.
2. git push origin [branch]를 통해 해당 브랜치를 원격 저장소에 push 한다.
첫 번째 방법이랑 다른 건 --amend 옵션과 -f 옵션을 굳이 주지 않고 추가해 주고 밀어 넣었다는 점이다.
탭에 보면 Commits의 숫자가 2개로 늘어난 것을 볼 수 있다.
두 방법 모두 하나의 PR에서 계속해서 수정해 주는 방식으로 사용한 것이다.
첫 번째 방법은 구글링 하면 가장 많이 나오는 방법 중에 하나고 두 번째 방법은 그냥 이렇게는 안되나 해서 테스트해봤더니 잘 되길래 정리해 둔 것이다.