DevOps/Git

Git Rebase

가은파파 2021. 3. 5. 19:16

기본 Git 명령어

 

git pull : remote된 master의 소스를 땡겨온다

 

> 만약 아래와 같이 local 파일이 overwritten된다면

error: Your local changes to the following files would be overwritten by merge:
//file list
Please commit your changes or stash them before you merge.

> incoming change과 current change 을 결정해서 해결해야 한다.

 

 

Rebase 와 Merge

temp라는 브랜치를 만들어서 Rebase하여 소스를 merge하는 방법을 알아보자.

 

//temp의 branch를 만들어서 master에 merge할 수 있는 최신화 branch를 만든다
//temp에서 최신화를 시작하도록 switch를 하였다.
git checkout -b temp

//변경된 파일들을 add한다.
git add .

//로컬 리파지토리에 올리는 commit
git commit -m "temp"

// => 해당 결과는 최신화 소스에 변경된 파일을 연결하게 되었다.

git status

git rebase origin

// => 아래와 같이 rebase를 위한 branch가 생성된다.
// => 이 과정에서 충돌이 생기면서 ide로 돌아가서 incoming과 current 파일과 선택을 하여 파일 수정을 해야한다.

 

아래와 같이 rebase를 위한 branch가 생성된다.

 

아래 과정을 통해서 진행이 accept 작업으로 최신화 + 소스머지 작업이 진행된다.

ide에서 충돌난 파일 소스 확인

이어서

 

git rebase --continue

 

충돌해결 작업이 끝나면 이어서 rebase 작업이 진행된다.

//충돌 작업 해결 후 수정된 파일 반영 
git add .

git status

git rebase --continue

위 rebase 과정을 이어서 마치면 원래 branch로 switch된다.

 

git push origin temp

이어서 create pull request

리뷰 후 merge가 완료된다.