협업을 위해서는, 우선 이 깃허브 레포를 함께 이용할 사람 (개발을 같이 하면서, push, pull 등을 함께 할 사람) 을 등록해줘야 한다.
그 협업자를 여기서는 collaborator
라고 한다.
git clone
: 깃허브에 있는 repo를 그대로 내 컴퓨터로 가져오고 싶을 때 쓰는 명령어
public 으로 설정된 repo 라면 누구나 git clone 을 통해서 컴퓨터로 내려받을 수 있고,
private 으로 설정된 repo 라면 collaborator 로 등록이 되어있어야만 git clone 을 할 수 있다.
❗️중요한 점: git clone 은 단순한 다운로드와는 다르게, commit 기록이 전부 가져오게 되기 때문에,
git reset 등의 명령어를 통해서 이전 기록으로 돌아갈 수도 있고, git pull, git push 등을 통해서
실제 repo 에 수정 사항을 반영하거나 수정 사항을 내려받을 수도 있다.
깃허브 레포지토리 클론 명령어
git clone [repo 주소]
이미 깃으로 관리되고 있는 폴더가 아닌, 새로운 폴더를 생성한 뒤 터미널에 위 명령어를 입력한다.
깃허브 수정 사항 내려받기
git pull origin [브랜치명]
로컬에는 없는 남의 수정 사항이나 온라인상의 파일 수정을 로컬에 적용시키기 위해서 사용한다.
수정 사항 확인하기
git fetch
깃허브 상의 수정사항을 바로 우리 컴퓨터에 반영하는 것이 아니라, 우선 컴퓨터의 원격 branch 로 수정사항을 가져오고, 원한다면 해당 branch 를 merge 해서 수정 내역을 받아오는 명령어
위 명령어를 실행하면, 깃허브 상의 수정사항을 바로 우리 컴퓨터에 반영하지 않고 브랜치 형태로 받아온다.
원격 저장소에 존재하는 브랜치 확인
git branch -r
수정 사항 병합하기(머지하기)
git diff master origin/[브랜치명]
diff
명령어는 어떤 차이점이 있는지를 확인하는 명령어
git merge origin/[브랜치명]
merge [브랜치명]
은 해당 브랜치를 현재 브랜치로 병합하겠다는 명령어
fork
: github 가 가진 기능으로, 다른 사람이 가진 저장소를 복제해서 내 github 저장소를 새롭게 만드는 기능
파일 뿐만 아니라, clone 과 마찬가지로 commit 기록까지도 모두 복제된다.
🎈clone 은 다른 사람이 만든 저장소 그 자체를 내 컴퓨터에 받아오는 기능이라면,
fork 는 다른 사람이 만든 저장소를 복제해서 ‘새롭게 내 github repo 를 만들고’
‘결국 내 컴퓨터로 받아오는건 내 repo’라는 점에서 차이가 있다.
복제하고 싶은 깃허브 reop에서, 오른쪽 fork 버튼을 누르면 된다.
create fork 버튼을 누르면 완료된다.
이제부터는 해당 repo는 나의 소유이므로, 자유롭게 clone한 후에 push, pull 등을 진행하면 된다.
git remote -v
git remote add upstream [원본 repo 주소]
git pull upstream [브랜치명]
만약 원본 저장소가 업데이트 되었는데, 내 컴퓨터에 이를 반영하고 싶다면 위 명령어를 입력한다.git push origin [브랜치명]