** 공동(협업) 개발시 git 지역/원격저장소의 생성 및 .gitignore 파일의 생성과 적용 *
Step.1 팀 리더가 최초 Front-end Project, Back-end Project 생성 (OK)
Step.2 생성한 Front Project, Back-end Project 폴더를 지역저장소로 초기화 (OK)
(1) Eclipse IDE 안에서, Project > Team > Share Project => 현재 프로젝트를 지역저장소로 초기화(master branch)
(2) git command 를 이용하는 방법 : Eclipse Project 폴더로 이동해서 아래명령 수행하면 끝. <----- ***: Recommended
$ git init
$ git init .
$ git init <project folder> (main branch)
(3) GitHub Desktop Client 에서 지역저장소로 초기화(main branch)
Step.3 .gitignore 파일을 생성해서, 각 지역저장소(front, backend)의 Working Tree에 저장 (OK)
- .gitignore 파일 생성법 (gitignore는 버전관리에서 배제시킬 (깃허브에 올리지 않을) 파일을 정해주는 것)
1) gitignore java > .gitignore (파워쉘 cmd 모두 가능)
2) gitignore windows,java,eclipse > .gitignore (파워쉘에서는 여러개 못 만듬 cmd에서 해야함)
3) https://www.toptal.com/developers/gitignore 사이트에서 만들어도 된다
여기에 아래 3개를 추가할 것!
- .classpath
- .project
- .pom.properties
- target/ (타겟폴더도 버전관리에 배제시켜야함)
Step.4 .gitignore 파일에 지정된 제외대상 파일/폴더를 제외한,
나머지 파일/폴더는 모두 변경(NEW)이 되며, 이를 커밋(commit) 수행. (OK)
Step.5 Step.4까지 진행된 지역저장소를 원격저장소(github)에 백업수행(Publishing) (OK)
(1) GitHub Desktop Client 를 이용하면, 현재 지역저장소의 이름(프로젝트 폴더)으로,
동일하게 원격저장소가 생성, push => 지역==원격저장소의 커밋로그가 일치 (명령어를 쓸 필요도 없다)
(2) git commands 또는 Eclipse IDE 안에서 원격저장소로 백업하려면,
가. GitHub 웹사이트에서 직접 원격저장소(Empty Repository)를 만들어야 하고
나. 로컬 저장소에서 원격저장소로의 연결설정(git remote)을 해야 하고
다. Personal Access Token까지 생성해야 하며(GitHub)
라. 직접 git push -u <연결설정이름> <백업할 브랜치명> 명령으로 publish
해야 하는 번거로움 발생 => 그래서, 가능하면 초기 지역저장소의 원격백업시, Desktop Client를 쓰세요 (***)
Step.6 나머지 팀원들 모두는, 원격저장소(github)에 백업된 front, backend
저장소를 자신의 PC의 지정된 디렉토리에 "복제(clonning)" 수행 (OK) -> 팀원으로서의 가장 중요한 첫협업단계!!!
*** 원격저장소 복제 명령 : 미리 결정된 폴더 안에서 아래 파워쉘에서 명령 하나면 복제 수행 끝 (이건 명령어를 써야함)
git clone <원격저장소의 HTTPS URL>
드디어, 모든 팀원(리더까지 포함)들이, 같은 폴더에, 같은 프로젝트에,
같은 지역저상소, 같은 커밋로그를 가지게 됩니다.
뿐만 아니라, 원격저장소에 publishing까지 가능한 상태가 됩니다.
+ 여기서 이클립스에 import 할 때, copy project into workspace언체크해야함
---
* 공동(협업)개발이란, 같은 팀원들과 수시로 의사소통하면서, 소스개발/수정 등의 변경에
대해서, 의견을 미리 나누고/통지하고/최적의 소스가 나올 수 있도록 브레인스토밍(미팅)을
하면서 개발하는 것입니다.(혼자 주구장창 소스개발하는게 아니라....)
---
(1) 출근하면, 가장먼저 fet/pull 수행하여, 원격과 지역저장소를 일치시킴
(2) 퇴근 약 1시간전에, 모든 팀원들이 push 할 준비를 한다.
- 근무시간동안에는 자유로이 "지역"저장소에 커밋을 수행하는 것은 재량것 수행.
- 퇴근 약 1시간전에, 모든 팀원들에게 push할 준비하세요.
(3) 실제 push 수행시,
- CONFLICT(소스충돌)이 발생할 수 있기때문에, 해결할 시간이 필요
- 이 충돌이 해결되기 전 까지는 기존 push는 pending (일시멈춤) 되고
- 충돌이 난 소스를 관련된 개발자들끼리 협업하여 맞춘 후에 반드시 commit 수행해야함
- 충돌 > 조정 > 합의 > 소스최종수정 > 커밋 완료되면, pending 되었던 push가 그제서야 완료됨
Step.7 Collaborator (공동개발자로 등록)
가. 원격저장소 소유자는 당연히 push가 되지만
나. 단순 원격저장소 복제 (git clone)한 개발자는 원격저장소로 연결설정은 자동으로 만들어지지만 git push할 수는 없음
다. 원격저장소 소유자 이외의 다른 사용자가 원격저장소에 git push할 수 있으려면 원격저장소 소유자와 공동개발자로 등록되어야함
공동개발자로 등록하려면 아래의 절차를 따라야함
(1) 소유자 : 공동개발자로 등록할 사용자에게 초대장 발송 (Invitation to others)
(2) 사용자 : 수신한 초대장을 수락
원격저장소 - settings - collaborators - add people
'국비학원' 카테고리의 다른 글
[국비지원] KH 정보교육원 119일차 (0) | 2022.09.18 |
---|---|
[국비지원] KH 정보교육원 117일차 (0) | 2022.09.14 |
[국비지원] KH 정보교육원 116일차 (0) | 2022.09.14 |
[국비지원] KH 정보교육원 115일차 (0) | 2022.09.13 |
[국비지원] KH 정보교육원 114일차 (0) | 2022.09.08 |