헤르메스 LIFE

[IntelliJ] Git을 이용한 Merge, Rebase 본문

Eclipse와 IntelliJ 관련

[IntelliJ] Git을 이용한 Merge, Rebase

헤르메스의날개 2021. 1. 25. 00:51
728x90

목표

IntelliJ를 이용해서 Git 을 SVN 처럼 사용하기.

1. 전체 sync 하기

2. Commit & Push 하기

3. 충돌나는 Source.. Merge 하기

개발환경

IntelliJ 2020.3

Git 2.30

시나리오

1. 서로 다른 PC에서 같은 소스를 다르게 Commit 을 한 경우 소스의 충돌이 발생합니다

2. 서로 다른 소스를 Merge 하는 방법을 테스트 합니다.


1. 우선 서로 다른 소스를 만들어야 합니다.

2. Commit 을 합니다.

3. Push 를 합니다.

4. Rebase 또는 Merge 를 선택해야 합니다. ( 여기서는 Merge 를 선택합니다. )

5. 충돌이 났다고 합니다.

Accept Yours : 내가 수정한 것을 덮어씁니다.

Accept Theirs : 다른 사람이 수정한 것을 덮어씁니다.

Merge... : 병합하겠다는 거죠.. ( Merge 를 선택합니다. )

6. Merge 화면입니다.

1번 영역 : 내 Source 영역입니다.

2번 영역 : Merge 될 Source 영역입니다.

3번 영역 : 다른 사람이 수정한 Source 영역입니다.

4번 >> 화살표 : 내 소스 중 다른 부분을 Merge 영역으로 복사

5번 >> 화살표 : 다른 사람의 다른 부분을 Merge 영역으로 복사

7. 적용된 화면입니다. Apply 버튼을 누르면 적용됩니다.

8. 잊고 빼 먹은 게 있네요. Push 를 다시 해주셔야 합니다.

병합은 했는데, 소스는 적용된게 아니니까.. Push를 해주셔야 합니다.

안하시고, 계속 개발 진행 후 또 다시 Source Merge 하셔도 무방하긴 합니다. ( 테스트다 보니.. ㅡㅡㅋ )

9. 적용 후 그래프가 보이네요.


1. 서로 다른 소스가 있어야 합니다.

2. Commit 합니다. ( 나머지 내용은 같습니다. )

3. Push 를 합니다.

4. Rebase 를 선택합니다.

5. 역시 충돌이 났습니다. ( Merge 를 선택합니다. )

6. 역시 Merge 작업을 진행합니다.

7. Merge 작업이 완료되면 Apply를 클릭합니다.

8. 이번에는 잊지 않고 Push 작업을 진행 합니다. ^^

9. Merge 작업이 끝난 후 그래프입니다.

- 좀 다르네요...


자세한 설명은 아래 블러그를 참조합니다. 아직도 이해는 안가지만 자꾸 보다보면 배우겠죠.. ^^;;

victorydntmd.tistory.com/279

 

[Git] 명령어(6) - rebase ( merge와 비교, --interactive 옵션 )

1. rebase rebase는 merge처럼 병합하는 작업이지만, 커밋 이력을 다룰 수 있다는 점에서 차이가 있는데요. ( merge와 rebase 비교 - 참고 ) 불필요한 merge 이력을 남기지 않기 때문에, Git은 rebase를 통해 병

victorydntmd.tistory.com

blog.outsider.ne.kr/666

 

git의 merge와 rebase 비교하기 :: Outsider's Dev Story

개인 프로젝트 형상관리용도로 DVCS인 Git를 주로 쓰는데 보통 혼자서 쓰기 때문에 충돌같은 이슈를 겪을일은 별로 없습니다. 이젠 좀 익숙해 졌기 때문에 브랜치나 태그기능도 쓰고 있는데 기존

blog.outsider.ne.kr

 

728x90