팀프로젝트에 앞서서 협업을 위한 기본적인 작업을 들어갔다.
오픈 소스에 기여하기(contribute) 위해서는 오픈 소스 프로젝트의 코드를 수정해야한다. 그러나 내가 직접 오픈 소스 코드에 수정을 할 수 없다.
그래서 내 로컬에 원격저장소의 오픈 소스 프로젝트를 복사해서 작업을 하고 오픈소스 프로젝트의 소유자에게 검사를 받아야 한다.(이번 팀플에서는 조교님이 모두를 소유자로 권한부여해서 상관은 없지만, 그래도 깃 협업을 배우기 위해!)
그리고 검사를 다 받으면 오픈소스 프로젝트의 소유자가 해당 코드를 자신의 오픈소스 코드에 적용시킨다.
upstream이란???
사전적인 의미를 파악해보면, upstream이 상류, downstream이 하류
물이 상류에서 하류로 흐르듯이 pull 하는 주최가 downstream 당하는 쪽이 upstream 이다
->내 레포에서 다른 레포를 풀 해서 작업하고 있다면 다른 레포가 업스트림이 된다는 말!!
otherRepository(upstream) -> (git pull) myRepository(downstream)
순서
1. 오픈소스 프로젝트 가져오기
2. 로컬 저장소 세팅
3. 메인 저장소와 내 저장소 싱크하기
1. 오픈소스 프로젝트 가져오기
오픈소스 프로젝트가 있는 메인 저장소를 내 저장소로 fork 해야한다.
fork : CSID-DGU에 있는 우리 팀의 레포지토리를 나에게도 끌어와서 원격저장소를 만들어야 한다. (오픈 소스 프로젝트를 내 로컬에 복사하는 작업)
2. 로컬 저장소 세팅하기
로컬 저장소를 세팅하기 위한 과정은 3단계로 나눠놨다.
- 작업 공간 만들기
$ git clone [fork한-내-원격-저장소-url.git]
- origin 설정
내가 fork한 나의 저장소와 연결시켜 Pull Request를 보낼 준비를 한다.
$ git remote add origin [fork한-내-원격-저장소-url.git]
- upstream 설정
$ git remote add upstream [메인-저장소-url.git]
3. 싱크하기 _ fork한 자신의 저장소에 원래 저장소를 remote 로 등록하기
$ git remote -v
만 치면 아직 원격 저장소 설정이 되지 않은 상태이기 때문에 아래와 같이 나올 것이다.
origin [fork한-내-원격-저장소-url.git] (fetch)
origin [fork한-내-원격-저장소-url.git] (push)
=>원격 저장소에 원본 저장소를 설정해야, 원본 저장소에서 최신 수정 내역들을 내 작업에 반영할 수 있고, 다른 사람들과의 협업이 가능해진다.
$ git remote add upstream [메인-저장소-url.git]
위 명령어의 의미는 이름을 upstream으로 하는 원격 저장소를 추가한다는 것. 이제 추가한 upstream 이라는 원격 저장소에서 최신 커밋 내역을 가져오면 된다.
3. 싱크하기 _ 원격 저장소에서 최신 커밋 내역 가져오기
저장소가 잘 설정되었는지 먼저 확인(git remote -v)해보면 origin 뿐만 아니라 upstream 이라는 이름으로 결과가 나온다.
Git upstream 연동 및 PR 방법
Git에 사본과 원본을 연결하는 방법1) cd 사본 디렉토리 진입2) git clone (해당 Repository의 사본 주소) 위 명령을 통해서 사본의 내용을 내 컴퓨터에 저장한다.3) cd 사본 Repopsitory 폴더명4) git remote -v 를
velog.io
보다 정확한 정보는 이 글 참고!!
'2022년_동국대학교 > OSSP 팀플 일지' 카테고리의 다른 글
[OSSP] 깃 충돌_이전 버전으로 되돌리는 방법 (reset과 revert 차이) (0) | 2022.11.20 |
---|---|
[OSSP] 중간 발표 및 피드백 (0) | 2022.11.20 |
[OSSP]코드분석 올리기(ft. 개쫄보의 깃 협업 풀리퀘&머지) (0) | 2022.11.06 |
[OSSP]깃 협업하기_Pull Request(PR) 보내는 방법 : Contribution 하기 (0) | 2022.11.06 |