본문 바로가기

Git

[Git]Git Interactive tutorial3

3단계를 풀어볼 차례이다!

 

1. Cherry - Pick

git cherry-pick <Commit1> <Commit2> <...> 와 같이 작성하며 HEAD의 아래의 모든 커밋들을 복사하는 것이다.

현재 상태가 이렇다면, C2와 C4를 복사하여 HEAD(main) 아래로 넣고싶을 경우 git cherry-pick c2 c4 명령어를 사용하면.

이런 결과가 출력된다. 아래는 목표이다.

목표를 보면 순서대로 bugFix, size, another 브랜치를 복사하여 아래에 넣는 것 같다. 시도해보자.

 

현재상황

(1) git cherry-pick bugFix : bugFix를 복사하여 main아래로 복사붙여넣기 한다.

 

(2) git cherry-pick c4 : c4를 복사하여 main아래로 복붙한다. side같은 이름이 아닌 c4로 불러올 수 있다.

 

(3) git cherry-pick c7 : c7을 복사하여 main아래로 복붙한다.

 

근데 한번에 하는 방법이 없을까? 한번에 복사를 원하는 노드들을 가져오도록 한줄에 적어보았다

(1) git cherry-pick bugFix c4 another

바로 출력되었다!!

 

 

2. Interactive Rebase

원하는 커밋명을 알 경우 cherry-pick을 사용한다. 하지만, 원하는 커밋을 모를 경우에는 git에서 무엇을 사용할까?

바로 Interactive Rebase이다.

 

git rebase -i와 같으며, rebase가 목적지가 되는 곳 아래에 복사될 커밋들을 보여주는 UI를 보여주고, 각 커밋들의 해시와 메시지까지 출력한다.

 

UI 내에서는 아래의 기능을 한다.

  • 적용할 커밋들의 순서 변경 가능(마우스 드래그 앤 드롭 가능)
  • 원하지 않는 커밋 제거 가능
  • 커밋을 합칠 수 있음

직접 실습을 할 수 있기에 우선 목표를 보자.

Interactive Rebase를 사용해 이렇게 만들면 된다고 한다. UI로 직접 만들 수 있으니 굉장히 편리하게 만들 수 있을 것 같다.

 

 

(1) git rebase -i overHere : interactive rebase를 사용하여 GUI로 원하는 순서로 커밋을 복사할 수 있다!

 

(2) Drag and Drop을 통한 커밋 순서 변경 / Omit 버튼을 클릭해 비활성화

 

(3) confirm 버튼 클릭

'Git' 카테고리의 다른 글

[Git]Git Interactive tutorial6  (0) 2022.08.18
[Git]Git Interactive tutorial5  (0) 2022.08.17
[Git]Git Interactive tutorial4  (0) 2022.08.16
[Git]Git Interactive tutorial2  (0) 2022.08.11
[Git]Git Interactive tutorial  (0) 2022.08.10