와 이제 모든 작업이 완료되었습니다. ^^
팀장이 원본 저장소에 팀원이 작업한 모든 내용들을 merge 해서 완벽하게 만들어 놓고 push까지 완료하였습니다. 나머지 팀원들은 이제 뭘 해야 할까요? 내가 올려놓은 작업 내용을 반영하여 프로젝트를 완료해 놓았기 때문에 내 원격 저장소에 메인 원본 저장소의 내용을 내려받아 동기화를 시켜놓는 작업을 해야겠죠? 그래야 완벽한 프로젝트로 만들어 놓고 다시 작업을 시작하죠.
내 프로젝트가 완벽하게 동기화가 되어야 그다음 작업을 할 때도 힘들지 않게 엉뚱한 작업을 하지 않게 될 것입니다. 동기화도 간단합니다.
우선 메인 저장소인 원본 저장소를 remote로 등록합니다.
[Git Repositories] 뷰에서 [Remote]를 선택하고 [Create Remote]를 선택합니다.
[New Remote] 대화상자가 나타나면 원본 저장소의 이름을 정하고 [OK] 버튼을 누릅니다.
텍스트 추가
[Change] 버튼을 누릅니다.
[Select a URI] 대화상자에서 Location은 원본 저장소의 주소를 복사합니다.
[원본 저장소]
Authentication은 인증할 아이디와 패스워드를 입력하는데 현재 작업 중인 내 github 저장소의 아이디와 패스워드를 입력합니다.
[Save] 버튼을 선택합니다. 원격 저장소가 추가됩니다.
작업의 유형은 달라지지만 원격 저장소와의 작업은 모두 동일합니다.
fetch - merge - push
메인 저장소를 선택하고 단축메뉴에서 [Configure Fetch]를 선택합니다.
[Configure Fetch] 대화상자에서 [Add] 버튼을 누르고 다운로드할 브랜치를 선택합니다. 지금은 원격 저장소의 master 브랜치를 받아서 동기화를 할 것이므로 master 브랜치만 등록합니다.
이 작업은 너무 많이 했습니다.
[Save and Fetch] 버튼을 선택합니다. fetch가 완료되면 [Git Repositories] 뷰의 [Remote Tracking]에 원본 저장소의 내용이 등록되어 있는 것을 확인할 수 있습니다. fetch가 정상 완료됐습니다.
이제 내 master 브랜치에 원격 저장소의 master 브랜치를 merge 하면 됩니다. 이때 설정 파일들의 내용은 가급 포함되지 않도록 합니다. 분명 설정 내용(컴퓨터 이름, JDK 버전 등)이 다를 것이므로 반드시 충돌이 발생할 것입니다.
주의사항이었고요..
또 한 가지 반드시 지켜주셔야 할 것은 이렇게 원본 저장소의 master를 동기화하는 경우 반드시 master 브랜치 상태에서 작업을 해야 한다는 것입니다.
지금은 park 브랜치입니다. 반드시 master 브랜치를 더블 클릭하여 선택합니다.
브랜치의 전환도 변경된 내용이 각 브랜치 별로 로컬 저장소에 저장되지 않으면 다음과 같이 [Checkout Conflicts] 대화 상자가 나타납니다.
[설정 파일 ignore 시키기]
[Window]-[Preferences]를 선택합니다.
[Preferences] 대화 상자에서 [Team]-[Ignored Resources]를 선택하고 [Add Pattern] 버튼을 눌러 직접 설정 파일의 경로를 등록합니다.
등록이 완료된 후 [Checkout Conflicts] 대화 상자에서 [Reset] 버튼을 누릅니다.
반드시 master 브랜치가 선택된 후 작업해야 합니다.
이제 fetch 받은 파일을 Local의 master와 merge 해야 합니다. [Git Repositories] 뷰에서 [Local]의 master 브랜치를 선택하고 [Merge]를 선택합니다.
[Merge] 대화 상자가 나타나면 [Remote Rracking]에 fetch된 원격 저장소의 master 브랜치를 선택하여 [Merge] 버튼을 누릅니다.
완료되면 [Merge Result] 대화상자가 다음과 같이 나타납니다.
[OK] 버튼을 누르고 프로젝트를 보면 원본 저장소의 모든 내용이 동기화되어 반영된 것을 확인할 수 있습니다.
마지막으로 내 원격 저장소에 반영하기 위해 push 합니다. 현재 나의 원격 저장소에는 작업한 내용이 반영되어 있지 않습니다.
[Remote]의 "origin"이 나의 원격 저장소이므로 선택하고 [Push]를 메뉴에서 선택합니다.
[Push Results] 대화상자가 뜨며 성공적으로 push가 된 것을 확인할 수 있습니다.
나의 원격 저장소가 변경된 내용이 반영되며 동기화되었습니다.
'프로젝트관련 tool > github' 카테고리의 다른 글
fork로 프로젝트 하기 (0) | 2019.08.25 |
---|---|
프로젝트를 위한 작업 - step8 팀장도 개발하는 경우 브랜치를 만들고 작업합니다.(팀장) (0) | 2019.08.23 |
프로젝트를 위한 작업 - step7 원본 저장소 master에 병합하기(팀장) (0) | 2019.08.23 |
프로젝트를 위한 작업 - step6 Pull request처리하기(팀장) (0) | 2019.08.22 |
프로젝트를 위한 작업 - step5 Pull request(팀원) (0) | 2019.08.22 |