Skip to content

개발 작업 후 Push, Pull Request, 동기화

eGovFrameSupport edited this page Apr 6, 2023 · 1 revision

1. 수정된 소스를 내 로컬 저장소에 commit

표준 프레임워크 개발 환경에서 소스를 수정하면, Package Explorer 의 수정된 파일명 좌측에
doc1 처럼 '>' 문자가 표시된다. Git Staging View의 Unstaged Changes에도 표시된다.

doc2

내 로컬 저장소로 commit 하기 위해 Git Staging View의 Unstaged Changes 의 수정된 파일을 선택 후
doc3 클릭 또는 Staged Changes로 드래그 앤 드롭 하면 다음과 같이 선택한 파일명 앞의 아이콘이 바뀌며 Staged Changes 에 추가된 것을 알 수 있다.

Commit Message 란에 작업 내용을 작성 후 [Commit] 또는 [Commit and Push...] 버튼을 클릭한다. Commit 은 내 로컬 저장소로 반영하는 것이고, Commit and Push는 내 로컬 저장소와 내 원격 저장소에 동시에 반영하는 것이다.
내 로컬 저장소로 Commit만 해 놓았다가, 내 원격 저장소로 한번에 Push할 수도 있다.

2. 수정된 소스를 내 원격 저장소로 Push

수정된 소스를 로컬 저장소로 Commit 한 후 바로 내 원격 저장소로 Push 하려면 Commit Message를 입력한 후 [Commit and Push...] 버튼을 클릭한다.
다음과 같이 원격 저장소를 확인 하는 대화창이 표시되며 [Preview >] 버튼을 클릭한다.

doc4

Push Confirmation 창에서 내용을 한번 더 확인하고, [Push] 버튼을 클릭한다.

doc5

GitHub 사이트의 내 원격 저장소에 commit 한 내용을 확인할 수 있다.

doc6

3. 원본 원격 저장소에 반영 요청 (Pull Request)

표준 프레임워크 원격 저장소(Upstream)에 나의 수정 사항을 반영 요청하기 위해, 내 원격 저장소의 [Pull Request] 를 클릭한다.

다음과 같이 내가 수정한 내용을 확인 후 [Create pull request] 녹색 버튼을 클릭한다.

doc7

Pull request 요청 내용을 작성 후 [Create pull request] 버튼을 클릭한다.

doc8

표준 프레임워크 원격 저장소로 나의 Pull request가 요청되었음을 확인 할 수 있다.

doc9

4. Pull request 이후 검토 내용 확인

  • 검토 내용 확인 표준 프레임워크 센터에서 작성한 검토 내용은 나의 받은 이메일함에서 확인 할 수 있다.

doc10

  • 원본 원격 저장소 브랜치에 병합 확인 표준프레임워크 원격저장소 브랜치에 병합되면, 다음과 같이 수신된 이메일로 확인할 수 있다.

doc11

5. 표준 프레임워크 원격 저장소와 최신 버전 동기화

시간이 흐르면서 원본 원격 저장소는 여러 개발자들로부터 Pull Request를 받아 브랜치에 병합하게 되면,
내 로컬 저장소의 소스들과 달라지기 때문에 원본 원격 저장소의 최신 commit을 내 로컬 저장소에 반영해야 한다.

1. 개발 환경에 표준 프레임워크 원본 원격 저장소 추가

개발 환경에 표준 프레임워크 원본 원격 저장소를 추가하기 위해 Git Repositories 창에서 Remote를 선택하고,
마우스 우클릭하여 'Create Remote...' 선택한다.

doc12

Remote name을 입력, Configure fetch 선택 후 [Create] 버튼을 클릭한다.

doc13

Configure Fetch 다이얼로그 창에서 [Change...] 클릭 후 표준 프레임워크 원본 원격 저장소 URL을 입력하고 [Finish]를 클릭한다.
Configure Fetch 창에서 [Save] 를 클릭한다.

doc14

doc15

doc16

2. 표준 프레임워크 원격 저장소로부터 최신 commit Pull

표준 프레임워크 원격 저장소로부터 최신 commit를 가져오기 위해서 Package Explorer에서 프로젝트를 선택 후
마우스 우클릭하여 Context 메뉴에서 Team > Pull... 메뉴를 선택한다. Remote를 표준프레임워크 원본 원격 저장소로 선택한 후 [Finish] 를 클릭한다.

doc17

doc18

3. Conflict 해결

표준 프레임워크 원격 저장소로부터 최신 commit를 가져오기(Pull) 한 후 Conflict가 발생하는 경우엔
doc19 처럼 빨강색 아이콘이 표시된다.
Git Staging View에서 Conflict 발생 파일을 선택 후 마우스 우클릭, Compare with index 메뉴를 선택한다.
Staged 파일 내용과 로컬 파일을 비교할 수 있도록 에디터 영역이 구성되며, 이를 참조하여 로컬 파일을 수정 및 테스트를 거쳐 가며 Conflict를 해결한다.

doc20

doc21

4. 내 원격 저장소로 Push

내 로컬 저장소는 표준프레임워크 원격 저장소와 동기화 되었지만, 내 원격 저장소는 아직 반영이 되지 않은 상태이기 때문에 Push 하게 되면 원본 원격 저장소와 Forked 된 내 원격 저장소와 일치 된다.

이후 개발 작업도 제 3절, 4절을 반복하면 된다.