본문 바로가기

Study/git

git) git으로 협력하기 - fork

git으로 협업하기 - fork

fork

협업하고자 하는 git repository를 선택한 후 해당 repo를 fork한다. 우측 상단에 있는 fork 버튼을 누르면 자동으로 내 repository에 해당 repository가 생성된다.

fork
after fork

clone

깃 레퍼지토리를 저장할 디렉토리를 지정한 후 터미널에서 해당 디렉토리를 연다. 이는 두 가지 방법으로 할 수 있다.

  1. 터미널에서 디렉토리 생성

  2. finder에서 디렉토리 생성 후 해당 디렉토리를 오른쪽 클릭하여 터미널을 연다.

그 다음 깃에서 클론한다.

clone 1
clone 2

이미지에 나와있는 대로 클릭한 후 터미널에 다음과 같이 명령어를 쓴다.

git clone repositoryPath

repositoryPath는 clone 버튼을 누른 후 복사된 주소를 그대로 붙여넣기하면 된다.

remote add

git remote add upstream remoteRepositoryPath

원래 클론했던 레퍼지토리에 가서 내 레퍼지토리를 클론한 것처럼 클론 버튼을 클릭 후 주소를 복사하여 remoteRepositoryPath 자리에 붙여넣기 한다.

add

로컬에서 변경된 사항이 있으면 커밋 하기 전인 staged 단계에 넣는다.

git add 변경된 파일 이름

모든 변경된 사항을 add하고 싶으면

git add .

을 한다.

commit

statged 상태에 있는 것들을 push할 수 있도록 커밋한다.

git commit -m 'commit message'

commit message 지정안하고 하면 vi 켜져서 귀찮으니깐 그냥 -m 로 메세지 지정해주자.

commit message는 그때그때 변경된 사항에 대해 적당히 상세하게 적어주면 된다.

push

원격 저장소에 올린다.

git push origin master

내 원격 저장소에 올라간다. origin은 내 원격 저장소고 upstream은 내가 포크해 온 원격 저장소이다.

fetch & merge

원격 저장소에서 변경된 내용을 가져온다.

git fetch upstream master

그러면 upstream/master라는 branch에 원격 저장소의 내용이 가져와진다. 충돌이 없으면 그대로 머지하면 된다.

git merge upstream/master

매번 push 하기 전에 fetch와 merge를 한 후 push 한다.