일단 씻고 나가자
[Git/Github] 협업 프로젝트 시작 - 2 - organization repository 연동 및 설정 (팀원) 본문
[Git/Github] 협업 프로젝트 시작 - 2 - organization repository 연동 및 설정 (팀원)
일단 씻고 나가자 2023. 12. 28. 04:33협업 프로젝트 시작 시 github의 organization(조직) repository 생성과 초기화 설정,
그리고 해당 repository에 팀원들이 접근하여 코드를 가져오고 개발이 진행되는 시나리오에 대해 정리한다.
기본적으로 git flow (main - develop - feature) 규칙을 따른 예시로 설명하며,
이슈 관련 및 branch 명명 혹은 규칙 등은 팀의 컨벤션(룰)에 따라 달라질 수 있음을 염두한다.
크게 다음과 같은 파트로 설명한다. (사용 툴 - Git, Github, IntelliJ)
- [ organization, repository의 생성, 업로드, 설정 (팀장) ]
- [ organization repository 연동 및 설정 (팀원) ]
- [ Git 활용 개발 방식 및 시나리오 (fetch, pull, push) ]
[ organization repository 연동 (팀원) ]
1. organization repository -> 개인 repository (fork)
팀원은 팀장이 작성한 organization repository 의 뼈대 코드를 자신의 개인 repository 로 복사하여 개발을 진행하게 된다.
이때 코드를 개인 repository 로 복사하는 것을 Fork 기능이라 한다.
소규모 프로젝트의 경우에는 굳이 fork를 이용하지 않고 다음 2번(clone)으로 이동하여,
IntelliJ -> organization repository 로 직접적으로 반영하는 방법(sync fork 및 upstream 과정 X)을 택하여도 무방하다.
(방법을 어떤 것을 택할 것인지 또한 팀의 컨벤션에 따른다)
단, 이번 포스트의 경우엔 fork를 이용하여 IntelliJ <-> 개인 repository <-> organization repository 의 플로우로 프로젝트를 진행하게끔 설명한다.
사진을 통해 설명하며, 클릭해야 하는 부분은 파란색 상자로 표기한다.
먼저 팀의 organization repository 에 접속한다.
[Code] -> [Fork]
[Repository name] 에 자신의 repository 로 가져올 때 설정할 이름을 설정한다.
[Copy the main branch only] 는 체크를 해제한다. 이는 팀장이 미리 생성한 뼈대 브랜치(ex. develop) 또한 가져와 개발을 진행해야 할 때 필수적이다.
[Create fork] 로 설정을 마친다.
이후 자신의 개인 repository 에 접속하면 복사된 repository 를 볼 수 있다.
2. 개인 repository -> IntelliJ (clone)
이제 IntelliJ 으로 코드를 불러와 개발 환경을 만들어야 한다.
IntelliJ 의 다음 두 방법 중 하나를 택하여 Github 에 등록된 프로젝트를 가져올 수 있다.
[ 방법 1 ] IntelliJ 실행 후 [Get from VCS]
[ 방법 2 ] IntelliJ 프로젝트 화면에서 [Git] -> [Clone...]
두 방법 모두 다음과 같은 화면으로 이동한다.
해당 목록들엔 등록된 프로젝트들이 리스트업 되어 있는데,
이들 중 개인 repository 로 이동한 프로젝트를 선택 후 [clone] 한다.
(fork를 활용하지 않았을 경우 organization repository를 선택하며, organization repository 는 / 로 구분된다)
성공했다면 IntelliJ 에 해당 프로젝트의 내용이 성공적으로 담긴다.
3. IntelliJ -> organization repository (upstream)
현재까지의 작업으로 인해, 각 파트들은 다음과 같이 순서를 갖게 되었다.
organization repository -> 개인 repository -> IntelliJ
이때 IntelliJ 에서 push 를 수행하게 될 경우,
바로 윗 단인 개인 repository 에만 내용이 반영될 것이므로,
우리가 작업한 IntelliJ 의 코드를 organization repository 에 반영하기 위해 upstream 설정을 해주어야 한다.
개인 repository 코드를 clone 한 IntelliJ 프로젝트로 돌아와, [Terminal] 에 다음과 같이 작성한다.
` git remote add upstream [organization repository 주소] ` 와 같은 형식으로 작성하면 되며, (대괄호는 제거해야 한다)
` git remote -v ` 명령어를 통해 설정을 확인할 수 있다.
이때 organization repository 의 주소는 다음 사진과 같이 organization repository 의 [Code] 부에서 복사할 수 있다.
이것으로 IntelliJ, 개인 repository, organization repository가 모두 연동 되었다.
이를 정리하자면 다음과 같다.
- Fork organization repository -> 개인 repository
- Clone 개인 repository -> IntelliJ
- upstream IntelliJ -> organization repository
※ 당부의 글
이것으로 연동만의 과정은 마쳤으나,
연동보다 더 중요한 것이 실제 pull, push를 에러가 나지 않게 활용하는 방법입니다.
경험상 연습해보지 않고 다짜고짜 git을 적용했다가
사소한 실수로 프로젝트 전체를 망가트릴 수 있습니다.
다음 글에 제가 최대한 쉽게 설명해놨으니,
꼭 한 번 따로 연습해보시고 실제 프로젝트에 들어가시길 바랍니다.
이어지는 글에선 연동 이후의
실제 진행되는 개발 시나리오와 fetch, pull, push 방식 및 활용과 예시에 대해 알아보겠다.
↓ 다음 글 바로 가기
https://hyungjun-950912.tistory.com/201
'Backend > Git' 카테고리의 다른 글
[Git/Github] 협업 프로젝트 시작 - 3 - Git 활용 개발 방식 및 시나리오 (fetch, pull, push) (1) | 2023.12.28 |
---|---|
[Git/Github] 협업 프로젝트 시작 - 1 - organization, repository의 생성, 업로드, 설정 (팀장) (1) | 2023.12.28 |