문제상황
3주 전에 하던 GIT 작업을 다시 진행하던 도중 remote의 상황이 바뀌었다.
이후 merge 이후 PR을 올리니 다른 사람들이 했던 커밋들이 모두 commit history에 쌓이는 모두 반영되는 불상사가 벌어지고 말았다..
목표
나의 목표는 remote 깃 레포에 있는 6a1c234 commit 위에 내 commit만을 쌓아 PR을 날리는 것이다.
1. 나의 commit 상태
PS C:\Users\20wjs\OneDrive\COMPUTER\***> git log --oneline
0a7d2bf5 (HEAD -> test2, origin/feat/#817, test, feat/#817) Merge branch 'feat/#817' of github.com:Youngseo-Jeon0313/fosslight into feat/#817
543efd0d Added watcher search box in Project List, 3rd Party List
6a1c2341 (origin/develop, origin/HEAD) Fix oss info nvd sync function
d1bdbe14 Fix export list text
bc6c2397 Fix export button integration of src, bin
....
2. new-branch 생성
543efd0d의 커밋을 기준으로 한 커밋 히스토리를 만들기 위해 new-branch를 543efd0d를 기준으로 만든다
이후 new-branch의 이름을 기존 PR을 날렸던 feat/#817로 변경한다.
3. force push
이후 -f 로 push한다.
결과
다음과 같이 깔끔하게 나의 커밋 하나만이 추가되었음을 볼 수 있다!
+
변경된 develop 브랜치의 내용을 현재 내 작업브랜치로 들고오고 싶을때에는 ??
이후에는 변경된 develop 브랜치의 내용을 현재 내 작업 브랜치로 들고 오고 싶다면 다음과 같은 명령어를 사용하여 commit history가 쌓이는 것을 방지하자!
git checkout feat/#817
git rebase develop
기존 A브랜치가 develop이고 내가 B에서 작업하고 있었다. 새로운 변경사항 A4가 만들어졌다면
위의 명령어를 통해 위와 같이 내 현재 branch를 예쁘게 담아올 수 있다. 물론 충돌이 날 수 있는 상황은 >>>>>>>> 잘 해결하자!
참고
'협업도구' 카테고리의 다른 글
[IntelliJ | windows] Intellij 환경에 google-java-convention 적용하기 (0) | 2023.08.16 |
---|---|
[GIT] First PR 시 겪은 트러블 슈팅 (0) | 2022.07.26 |