[IntelliJ] Git을 이용한 Merge, Rebase
목표
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 작업이 끝난 후 그래프입니다.
- 좀 다르네요...
자세한 설명은 아래 블러그를 참조합니다. 아직도 이해는 안가지만 자꾸 보다보면 배우겠죠.. ^^;;