Management/GIT

[GIT] 잘못된 Pull Request 머지 하기 전에 수정하기

썸머워즈 2023. 2. 6. 18:37
반응형

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

 

Git - 이미 올린 Pull request 수정하기

이미 올린 Pull Request 수정하기 2021 OSS 컨트리뷰톤을 진행하면서 두 번째 PR을 올리게 되었다. 첫 번째 PR때는 merge된 커밋들이 뒤섞이면서 잘못된 PR을 했었는데 이번에는 조금 더 신경을 써서 해본

kimtaehyun98.tistory.com


두 번째 방법으로는 덮어씌우는 게 아니라 Pull Request에 커밋을 추가하는 것이다.

커밋 자체가 잘못됐다면 커밋을 수정하는 첫 번째 방법도 괜찮은 방법이나, 추가로 작업하거나 그냥 이력을 남기고자 한다면 덮어씌우는 것보다는 commit을 추가하는 게 나을 것이다.

 

이건 특별히 따로 보여줄 건 없고 첫 번째 방법이랑 크게 다를 건 없다 단지 강제 옵션을 주지 않는 것뿐

1. 로컬에서 작업 후 git commit을 통해 commit 을 추가해 준다.

2. git push origin [branch]를 통해 해당 브랜치를 원격 저장소에 push 한다.

첫 번째 방법이랑 다른 건 --amend 옵션과 -f 옵션을 굳이 주지 않고 추가해 주고 밀어 넣었다는 점이다.

탭에 보면 Commits의 숫자가 2개로 늘어난 것을 볼 수 있다.


두 방법 모두 하나의 PR에서 계속해서 수정해 주는 방식으로 사용한 것이다.

첫 번째 방법은 구글링 하면 가장 많이 나오는 방법 중에 하나고 두 번째 방법은 그냥 이렇게는 안되나 해서 테스트해봤더니 잘 되길래 정리해 둔 것이다.

반응형