본문 바로가기
Git

다른 사람과 프로젝트를 진행할 때 merge하는 방법(Xcode)

by print_soo 2022. 6. 4.
Merge 방법

1. Commit하고 Push를 누른다. (Push는 내가 생성한 Brach에 한다.) -> 내가 수정한 브랜치를 최신화 하는 과정 

<Xocde - 상단 Source Control 클릭 -> Commit -> Push>

2. Current를 기존 Brach로 옮긴다. -> 해당 Branch의 상태는 다른 동료와 내가 커밋한 것이 없다.

<Xcode - Show the Source Control navigator - 옮기고 싶은 Current 우클릭 -> CheckOut (Switch)클릭>

3. 기존 Brach(ver 2)를 Pull 한다. -> 다른 사람의 코드로 업데이트된 기존 Brach(ver 2)를 당겨와 충돌을 방지한다. 

<Xocde - 상단 Source Control 클릭 -> Pull>

4. 나의 Brach를 기존 Branch(ver 2)와 머지한다. (내가 수정한 코드를 기존 Brach(ver 2)에 올리는 과정)

<Xcode - Show the Source Control navigator - 기존 Brach 우클릭 -Merge "내 브랜치" to "기존 브랜치" 클릭>

5. 원격저장소와 로컬저장소의 버전은 또 다르기 때문에 푸쉬로 최신화시켜준다. (내가 수정한 코드를 원격저장소에 올리는 과정)

<Xocde - 상단 Source Control 클릭 -> Push>

6. 다시 나의 Branch로 Current를 옮긴후 다시 기존 Brach(ver 3)와 머지한다. (즉, 기존 Brach(ver 3)에는 다른 동료가 수정한 코드가 올라갔지만 나의 Brach에는 다른 동료가 수정한 코드가 올라오지 않았기 때문에 기존 Brach(ver 3)에 있는 코드들을 머지해서 나의 Brach에 다른 동료의 코드를 올린다.)

<Xcode - Show the Source Control navigator - 옮기고 싶은 Current 우클릭 -> CheckOut (Switch)클릭>

<Xcode - Show the Source Control navigator - 나의 Brach 우클릭 -Merge "기존 브랜치" to "내 브랜치" 클릭>

7. 나의 Branch를 push 한다.

 

[머지 방법에 대한 쉬운 설명]

1. 내 브랜치를 커밋, 푸시를 합니다.
 -> 내 브랜치를 최신화 합니다.

2. 메인 브랜치로 이동을 합니다.
-> 브랜치를 변경합니다.

3. 메인 브랜치를 pull합니다.
-> 다른 사람이 수정하고 업로드한 코드 다운로드합니다.

4. 내 브랜치를 메인 브랜치에 머지합니다.
-> 내가 수정한 코드를 최신화된 메인 브랜치에 업로드합니다.

5. 메인 브랜치를 푸시합니다.
-> 다른 사람이 가장 최근에 작업한 코드 + 내가 수정한 코드를 원격 저장소에 업로드합니다.

6. 내 브랜치로 이동합니다.
-> 브랜치를 변경합니다.

7. 메인 브랜치를 내 브랜치에 머지합니다.
-> 다른 사람이 가장 최근에 작업한 코드를 내 브랜치에 업로드합니다. (내가 수정한 코드는 이미 내 브랜치에 있기 때문에 생략)

8. 내 브랜치를 푸시합니다.
-> 메인 브랜치와 같아진 내 브랜치를 원격저장소에 업로드합니다.

 

 

 

 

 

1. 현재 해당되는 메인 브랜치에서의 새로운 브랜치를 만든다. 

새로운 Branch 생성
Show the Source Control navigator

Xcode에서의 방법

1. 좌측 상단 Show the Source Control navigator을 선택한다.

2. 해당 Branch를 우클릭하고 New Brach from "기존 브랜치" 를 한다. 

3. To: 부분에 Brach 이름을 작성하고 Create를 클릭해서 만들어준다. 

 

 

 

2. 새로 만든 Brach를 원격 저장소에 Push해준다.  

 

Xcode에서의 방법

1. 상단 Source Control 클릭

2. Push를 누른다. 

 

 

 

3. 생성한 브랜치에서 코드를 수정한 부분이 있다면 Merge를 해주어야한다.

(상황: 다른 동료가 자신의 브런치에서 코드를 수정하고 커밋후 푸쉬를 한 상태)

 

(상황) 다른 동료의 브런치가 머지 된 상황


[Merge 방법]

 

커밋 & 푸쉬


Current 위치 변경


Pull

 


Merge


최신화


다시 merge

 

[머지 방법에 대한 쉬운 설명]

1. 내 브랜치를 커밋, 푸시를 합니다.
 -> 내 브랜치를 최신화 합니다.

2. 메인 브랜치로 이동을 합니다.
-> 브랜치를 변경합니다.

3. 메인 브랜치를 pull합니다.
-> 다른 사람이 수정하고 업로드한 코드다운로드합니다.

4. 내 브랜치를 메인 브랜치에 머지합니다.
-> 내가 수정한 코드를 최신화된 메인 브랜치에 업로드합니다.

5. 메인 브랜치를 푸시합니다.
-> 다른 사람이 가장 최근에 작업한 코드 + 내가 수정한 코드를 원격 저장소에 업로드합니다.

6. 내 브랜치로 이동합니다.
-> 브랜치를 변경합니다.

7. 메인 브랜치를 내 브랜치에 머지합니다.
-> 다른 사람이 가장 최근에 작업한 코드를 내 브랜치에 업로드합니다. (내가 수정한 코드는 이미 내 브랜치에 있기 때문에 생략)

8. 내 브랜치를 푸시합니다.
-> 메인 브랜치와 같아진 내 브랜치를 원격저장소에 업로드합니다.