Nuke Olaf - Log Store

[Git] 깃 - 프로젝트 fork 해서 작업하는 방법 본문

Git

[Git] 깃 - 프로젝트 fork 해서 작업하는 방법

NukeOlaf 2020. 3. 31. 00:47

1. 프로젝트 Fork 하기

우선 작업할 프로젝트의 레포지토리를 Fork 하여 내 레포지토리로 가져온다.

레포지토리 오른쪽 상단에 Fork 버튼이 있다.

android/architecture-samples 를 Fork 하니
내 레포지토리에 nukeolaf/architecture-samples 가 생겼다

 

2. Fork 한 프로젝트를 local 에 clone 하기

clone or download 버튼을 누르면 clone 할 URL 이 나온다.

$ git clone https://github.com/nukeolaf/architecture-samples.git

 

3. 기존 원격저장소를 연결한다

내 레포지토리에 fork 한 프로젝트는 기존 프로젝트가 변경되어도 반영되지 않는다.
local 레포지토리를 기존 원격 저장소와 연결하여, pull 할 경우 원래 저장소의 변경된 사항도 반영되도록 한다.

반영된 결과는 push 를 통해 내 원격저장소에 반영한다.

기존 원격 저장소의 내용을 반영하지 않아도 된다면 이 과정은 건너뛰어도 된다.

git remote -v 는 연결된 upstream repository(기존 원격저장소) 을 확인하는 명령어이다.

$ git remote add upstream https://github.com/android/architecture-samples.git
$ git remote -v

 

* upstream repository 로부터 최신 업데이트를 가져오는 방법은 다음과 같다.

(1) fetch 명령어를 통해 upstream repository 의 내용 불러오기

$ git fetch upstream

(2) upstream repository 의 master 브랜치(혹은 원하는 브랜치) 로부터 나의 local master branch 로 merge 한다.

$ git checkout master 
$ git merge upstream/master

(3) 이 과정까지는 local repository 에서 일어난 것이므로, push 명령을 통해 remote repository 에 반영한다

$ git push origin master

 

4. 내가 작업하려는 branch 로 checkout 한다

프로젝트를 local 에 clone 했을 때, 원격 저장소의 모든 branch 가 같이 받아지지 않는다.

기본적으로는 master branch 만 받아와 진다.

원격 저장소의 브랜치를 가져오려면, 아래의 명령어를 사용하면 된다.

$ git checkout -t [원격 저장소의 branch 이름]

이 명령어는 로컬에 동일한 이름의 branch 를 생성하면서 해당 branch 로 checkout 을 하는 명령이다.

브랜치 이름을 변경하여 가져오고 싶다면, 아래의 명령을 사용한다.

$ git checkout -b [생성할 branch 이름] [원격 저장소의 branch 이름]

 

* 브랜치 확인 하는 명령어

(1) 로컬 브랜치

$ git branch

(2) 원격 저장소 브랜치

$ git branch -r

(3) 로컬/원격 모든 브랜치

$ git branch -a

 

참고 사이트 >>>

https://lifove.tistory.com/54

https://jybaek.tistory.com/775

https://json.postype.com/post/210431

https://cjh5414.github.io/get-git-remote-branch/

'Git' 카테고리의 다른 글

[Git] 깃허브 - fork 와 pull request 를 통한 협업 과정 정리  (0) 2020.03.31
깃허브란 무엇인가?  (0) 2020.01.06
Comments