본문 바로가기
프로젝트

협업 프로젝트 Keyword) Github Organization Repository 초기 설정 (fork, clone, upstream)

by son_i 2023. 12. 29.
728x90

드디어 부트캠프의 마지막 과정인 협업 프로젝트에 들어섰다.

이전에 나 혼자만 github 형상 관리를 하던 것에서 이젠 팀원들과 하게 되었다.

정신 바짝 차리고 잘못 올리지 않게 주의해야겠다.

 

 

1. [Fork 복제] 팀  Remote Repository ➡️ 내 Remote Repository 

일단 팀장님이 만들어놓은 remote repository에서 fork를 누르면 아래와 같은 화면이 뜬다.

리포지토리 이름을 입력하고 아래 체크박스의 체크를 해제했는데 이는 팀장님이 만들어놓은 main을 포함한 develope 브랜치를 갖고올 수 있게 한다. (체크 할 경우 main 브랜치만 가져오게 됨)

 

 

2. [Clone] 내 Remote Reposiotry ➡️ 내 Local Repository

 

통상적인 Local Repository를 만드는 방법은 2가지가 있다.

 i ) 초기화 할 대상 폴더에서 명령어 (git init) 입력

 ii )  Remote Repository에서 clone 해서 생성.

 

나는 2번째 방법으로 Local Repository를 생성할 것이고, 소스트리를 이용해 clone을 해올 것이다.

내가 포크 떠온 remote repository를 선택한다.

 

(깃허브 연결을 안 해놨으면 URL로 clone 해와도 됨.)

 

여기서 첫 번째 칸은 깃허브의 저장소이므로 건들지 않아도 된다.

 

두 번째 박스에서 내가 작업할 폴더를 생성 or 선택해준다.

 

* 여기서 폴더 명을 keyword 로 생성해줘야 함 !

내가 했던 Keyword로 하면 실제 프로젝트 명과 settings.gradle의 rootProject.name 이 달라서 빌드 오류남

 

세 번째 칸은 내가 입력할 프로젝트 명으로 remote repository의 레포지토리 명과 달라도 된다.

 

입력하고 Clone을 누르면

 

내가 설정한 위치에 로컬 리포지토리가 잘 클론떠졌다.

 

* 여기서 keyword 로 해줘야 함 !

내가 했던 데로 Keyword로 하면 실제 프로젝트 명과 settings.gradle의 rootProject.name 이 달라서 오류남

 


이 위까지만 하면 기본 설정은 다 끝났는데 내가 한 commit/push를 fork해온 나의 remote repository가 아닌 원본 remote repository로 보내기 위해 추가적으로 해야될 것이 있다.

3. [Upstream] 내 Working Directory ➡️ 팀 Remote Repository

 

* upstream, downstream의 관계는 상대적으로

나 혼자만의 깃허브 레포일경우 remote repo가 upstream, local repo가 downstream이다.

원래 repo와 내가 fork한 remote repo 사이에도 upstream, downstream이라는 관계가 형성된다.

 

upstream ? ) 일반적으로 포크한 원본 저장소를 의미.
orgin ? ) 원본 저장소를 포크 해온 나의 remote repository. 깃허브 원래 저장소의 복제본.

 

내가 working directory에서 작업 후 commit하면 내 Local Repo ➡️ push를 하면 내 remote repository로 반영되게 된다.

이것을 바로 팀 remote repository에 push 하기 위해 or 반영사항을 fetch 받기 위해 upstream 설정을 해줘야 한다.

 

인텔리제이 터미널에서 아래 명령을입력한다.

 

이는 로컬 저장소에원격 저장소를 등록하는 과정이다.

git remote add upstream [팀 Repsitory 주소]

 

명령 입력하기 전

 

명령 입력 후

 

 

이렇게  하면 찐찐 기본 세팅은 끝났다 ~