밍 석
밍석의 devlog
밍 석
  • 분류 전체보기 (58)
    • 글쓰기(=writing) (8)
      • 어떤 개발자가 되고 싶은가? (1)
      • 깊이 학습 한다는 것은? (1)
      • 23년 생각 정리 + (회고) (1)
    • TIL (=Today I Learned) (0)
    • 프로젝트(project) (2)
      • ERD 설계 느낀 점 (1)
      • AWS 배포 느낀 점 (1)
    • aws (8)
    • Java (28)
    • Spring (0)
    • Linux (1)
    • git (3)
    • ETC (4)
      • h2 DB 설치 (0)
      • 우아한 테크코스 (백엔드) (4)
      • IntelliJ IDEA (0)
    • project 환경 세팅 (0)
    • Dev Book Review (0)
      • git 레포로 관리 -> 링크 (0)
    • 기록하고 싶은 글 (2)
전체 방문자
오늘
어제

블로그 메뉴

  • 홈
  • 태그
  • 방명록

인기 글

최근 댓글

티스토리

hELLO · Designed By 정상우.
밍 석
git

IntelliJ에서 Git Rebase 사용하기 (2)

IntelliJ에서 Git Rebase 사용하기 (2)
git

IntelliJ에서 Git Rebase 사용하기 (2)

2024. 1. 14. 22:43

IntelliJ에서 Git Rebase 사용하기 (1)에서의 문제점을 해결 방법에 대해 설명드리도록 하겠습니다.

 

 

문제점 상황.

develop -> feature/A -> feature/B 순으로 브랜치를 생성하도록 하겠습니다.

develop -> feature/A 까지 작업을 한 상태라고 생각하고,

feature/B 브랜치에서 커밋을 해주고, PR을 올리는 상황이라고 가정합니다.

 

 

 

 

의문점.

feature/A 브랜치에서 작업 하였던 커밋 내역이 왜 feature/B 브랜치에 남아 있는 것인지 이유를 몰랐다.

분명, feature/B 브랜치에서 커밋을 해주고, PR을 올릴때를 보면 없었는데, 왜 생겨 났는지…

 

그 이유는, 내가 몇 가지 추가 작업을 해주지 않아서 그런 것이다.

다시, 처음부터 작업하는 것을 보여 드리겠습니다.

 

 

브랜치 순서

base-Branch -> branch-A -> branch-B
 (develop)

 

 

base-Branch 브랜치에서 파일 생성 후 커밋 + push까지 진행

 

 

branch-A, branch-B 브랜치 생성하는 방법

IntelliJ에서 Git Rebase 사용하기 (1) 을 보시면 내용이 나와 있습니다.

 

여기서 간단하게 설명드리면, Issues로 브랜치를 생성하든,

인텔리제이에서 바로 브랜치를 생성하든 방법은 두 가지입니다.

  • 만약, 프로젝트 중이라면 Issues를 만들어 기록을 할 수 있도록 합시다.

 

 

branch-A 브랜치 또한, 파일 생성 후 커밋 + push까지 진행

 

 

base-Branch로 branch-A 브랜치 PR 올리기.

 

 

branch-B 브랜치 파일 생성 후 커밋 + push 까지 진행

 

 

문제점. 잘못 생각하고 있던 것.

 

base-Branch로 branch-B 브랜치 PR 올리기.

branch-A 브랜치 커밋 내역이 포함되어 있다. 하지만, 이건 당연히 출력되는 것이 맞는 것이다.

  • 내가 지금까지 잘못 생각하고 있던 것.

 

 

리뷰어의 요청으로 코드를 추가 + 수정 작업 요청이 들어왔다.

branch-A 브랜치에서 수정 + 추가 커밋 후 push 하기

 

 

branch-A 브랜치에서의 추가 push 할 때의 커밋 로그 확인하기.

 

 

branch-A 브랜치 PR에서 추가 커밋 로그 확인하기.

이건 당연한 것이다.

 

 

리뷰어의 수정 + 추가 확인을 받았다면,

branch-A 브랜치 PR “Merge” 진행해주기

 

 

Merge를 진행한, base-Branch 브랜치로 인텔리제이에서 이동시켜주기.

왜 이렇게 하는가? → Remote(=원격)에 있는 싱크를 내 컴퓨터인 Local에서도 맞추기 위함이다.

 

 

base-Branch 브랜치로 이동하였다면,

원격에서 Merge가 진행되었으니, 로컬로 내려받기 위해 git pull 진행한다.

 

 

base-Branch 브랜치에서 확인했을 때, 다른 브랜치들의

가장 최근 추가한 것까지 잘 받아졌는지 확인하기.

 

 

작업 중인, branch-B 브랜치로 이동한다.

 

 

branch-B에서 base-Branch 브랜치로 리베이스 한다.

만약, 생성 된 브랜치들을 모두 적용하고 싶은 경우라면? 

develop 브랜치에서 1 → 2 → 3 → 4 순으로 브랜치 따서 작업했다고 생각 했을때
순서대로 develop 브랜치를 리베이스 하면 되는 것이다.

 

 

push 목록에 보면 커밋 내역들이 있는 걸 확인할 수 있다.

  • 이게 정상이다.
  • push 올려도 상관없지만, 나는 올리지 않았다

 

 

나의 관심사는 branch-B 브랜치에서의 작업한 커밋 내역만 보고 싶기에

명령어를 사용하여 다른 브랜치들의 커밋 내역은 지우자.

  • git push -f를 진행해준다는 것이다.

 

 

branch-B 브랜치의 그래프 확인.

branch-B 브랜치가 가장 위에 있고, 다른 브랜치 작업들은 밑에 있는 것을 알 수 있다.

이렇게 되면 정상동작 한 것이다.

 

 

깃허브에서도 커밋 내역을 확인해 보면,

branch-B 브랜치의 커밋 내역들만 존재하는 것을 알 수 있다

 

저작자표시 (새창열림)

'git' 카테고리의 다른 글

중복 커밋 내역 합치는 방법  (0) 2024.07.09
IntelliJ에서 Git Rebase 사용하기 (1)  (0) 2023.12.24
  • 문제점. 잘못 생각하고 있던 것.
밍 석
밍 석
밍 석

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.