IntelliJ에서 Git Rebase 사용하기 (1) 포스팅은 하는 방법에 대한 설명이지만,
깃 커밋 이력이 쌓이게 된다는 문제점이 발생합니다.
그 해결 방법으로는 : https://alstjr706.tistory.com/368 여기를 확인해주세요!
시작전에, 혹시라도 리베이스를 진행하다 에러가 발생하였다면,
git rebase --abort
브랜치 생성 순서. (잘 보기)
develop → feature/sign-up → feature/login
먼저 브랜치들 각각 세팅하기
develop 브랜치를 만든다.
브랜치명 작성하다
현재 위치 확인하기.
클래스 생성 후 코드를 작성하고 커밋 버튼을 누른다. (숫자 순서대로 진행)
커밋할 파일을 체크 후, 커밋 메시지 작성한 뒤 커밋 버튼 클릭
화살표 모양을 클릭하여 깃 push를 진행한다.
이렇게 한다면 develop 작업은 끝났다.
다음 feature/sign-up 생성 작업
- feature/sign-up 브랜치 생성 할 때, 주의점이 있다.
- develop 브랜치를 기준으로 생성하여야 한다.
- 왜? develop 로직들을 그대로 받아, 사용 할 것이기 때문이다.
develop 브랜치 확인 하고, 브랜치명 작성 후 Create 버튼 클릭
클래스 생성 후, 코드 작성하고 커밋한다.
커밋 할 파일을 체크 후, 커밋 메시지를 작성하고 커밋을 진행한다.
위 push 할때의 과정과 똑같다.
이렇게 한다면 feature/sign-up 작업은 끝났다.
마지막 feature/login 브랜치를 생성해보자.
베이스 기준은 feature/sign-up 에서 진행 해줘야 한다!
- 왜? feature/sign-up 로직들을 그대로 받아, 사용 할 것이기 때문이다.
브랜치명 작성하다
클래스 생성 후, 내용을 작성하고 커밋 버튼을 누른다. (숫자 순서대로 진행)
클래스 생성 후, 내용을 작성하고 커밋 버튼을 누른다. (숫자 순서대로 진행)
위 push 할때의 과정과 똑같다.
이렇게 한다면 feature/login 작업은 끝났다.
여기까지 진행하였다면, 세팅은 끝났습니다
상황 생각해보기.
"sign-up" 브랜치에서 작업 중, "develop" 브랜치에서의 PR 수정 요청이 들어와 수정해야 되는 상황
먼저 develop 브랜치로 작업을 하러 간다.
클래스 파일을 생성하고, 로직을 수정했다 가정하고, 커밋을 한다.
커밋 메시지 작성 후, 커밋 진행.
맨 위 화살표 버튼 선택 후, push 진행하기.
작업하던 sign-up 브랜치로 돌아온다.
sign-up 브랜치에서 파일 목록을 보면, DevelopTest 클래스가 없는 것을 알 수 있다. 다시 말해, 없는게 당연한 것이다,
하지만 develop에서 커밋하지 않았다면, sign-up 브랜치의 파일 목록에 보이긴 한다 / 반대 상황도 그렇다.
여기가 중요!
현재 브랜치를 잘 확인 하고, Rebase 해야될 브랜치를 선택하여 Rebase를 진행해준다.
그러면 파일이 생겨난 것을 알 수 있다.
커밋 메시지 작성하는곳에는 파일이 없지만, push 부분에는 있다는 것을 알 수 있다.
다음 push 해주기 ~
상황 2.
현재 "login 브랜치"에서 작업하고 있다고 생각해보자.
그런데, "sign-up 브랜치"에서 추가 로직과 수정 사항이 생겼다.
login 브랜치에서 파일 생성하고, 코드를 작성하며 작업 했다고 생각하자.
일단 sign-up 브랜치로 넘어가기
기존에 있던 파일을 수정하였다. 추가로 LoginTest 파일로 보이는데, 이건 무시하면 된다.
login 브랜치에서 생성한 파일이 넘어오게 되는 것인데, “그냥 보여주는 것이다” 라고 생각하면 된다.
수정만 하고 넘기지 말고, 클래스 파일을 하나 더 생성하여 수정 + 생성 같이 확인 해보자.
빨간색 글 참고하기.
위에서 많이 설명 했으니, push 진행이라고만 말하겠습니다.
중요!
sign-up 브랜치에서의 추가 변경 사항이 발생 하였으니,
login 브랜치에서 작업하고 있던 도중 sign-up 브랜치를 내려 받아야 될 것이다. 즉, Rebase를 진행 해준다.
login 브랜치에서 정상적으로 잘 받아 온것을 확인 할 수 있다.
SignupBranch 코드 내용을 보면, 기존에 있던 내용들은 사라지고, 변경 내용이 잘 적용 되었다는 것을 알 수 있다.
그리고 만약, 충돌이 발생한다면, Merge를 진행 해주면 된다.
하지만,
이렇게까지만 진행하였다면, 깃허브 커밋 이력이 엄청나게 꼬여 있을 겁니다..
그 해결 방법으로는 IntelliJ에서 Git Rebase 사용하기 (2) 에서는 확인해주세요!
'git' 카테고리의 다른 글
중복 커밋 내역 합치는 방법 (0) | 2024.07.09 |
---|---|
IntelliJ에서 Git Rebase 사용하기 (2) (2) | 2024.01.14 |