ocean

지옥에서 온 문서 관리자 깃&깃허브 입문 #5장. 깃허브로 협업하기 본문

ECC study

지옥에서 온 문서 관리자 깃&깃허브 입문 #5장. 깃허브로 협업하기

Leyeun_000 2023. 4. 15. 17:12

1. 원격 저장소 복제하기

: 원격 저장소를 기존의 지역 저장소 외에 다른 지역 저장소에서 사용하기 위해 원격 저장소에 있는 내용 전체를 가져오는 방법.

>> git clone 원격저장소 주소 지역저장소(디렉터리) 이름

 

- 원격 저장소를 복제하고 나면 자동으로 지역 저장소와 원격 저장소가 연결된다.

 

* 지역 저장소 git_home과 git_office를 이용해 여러 컴퓨터에서 원격 저장소를 함께 사용하는 방법을 익힌다.

git_home에서 문서 편집

> git push를 통해 원격 저장소에 파일을 올림.

> git_office에서 git pull을 통해 원격저장소에 있는 파일을 받음.

> git_office에서 다시 파일을 수정하고 커밋해서 git push해서 원격저장소에 올림.

> git_home에서 git pull을 통해 원격저장소에 있는 파일을 받음.

 

>> git_home에서 편집한 문서가 원격저장소를 거쳐 git_office(지역저장소)에 가고, git_office에서 다시 수정한 파일이 최종적으로 원격저장소, git_home에도 저장되게 된다.

 

2. 원격 브랜치 정보 가져오기

: 파일 전체를 가져오는 것이 아니라 원격 저장소에 어떤 변화가 있었는지 그 정보만 가져오는 방법.

>> git fetch 

 

* git status 를 입력한 후, 확인해 보면 지역 저장소의 현재 브랜치가 origin/master에 비해 커밋이 뒤쳐져있을 것이라고 나올 것임.

> 즉, 원격 저장소의 최신 커밋을 지역 저장소에 가져온게 아니라 원격 저장소에서 새로 커밋을 했다는 정보만 가져옴.

 

 

>> git merge 를 통해 fetch한 내용을 합칠 수 있음. 즉, 커밋한 '내용'을 지역 저장소에 합치는 것.

 

>> 즉, git pull = git fetch(정보만 가져옴) + git merge(원격 브랜치와 현재 브랜치를 합쳐줌)

 

3. 협업의 기본

- 승인된 공동 작업자만 커밋을 올릴 수 있는 권한이 주어지기 때문에 협업을 하려면 원격 저장소에 공동 작업자를 추가해줘야함.

> 팀원들 모두 각자 협업할 원격저장소와 연결할 지역저장소를 만들어줘야함.

> 각자 해당 저장소에서 사용할 이름과 메일 주소 지정

> 팀원 중 한 명이(여기서는 팀장) 파일(여기서는 f1.txt)을 만들어 원격 저장소에 push

> 원격 저장소에 커밋된 f1.txt가 올라감.

> 팀원들은 git clone을 통해 팀의 원격 저장소를 자신의 지역 저장소로 복제

> 이후, 자신의 커밋을 push하기 전 반드시 먼저 git pull을 해서 원격 저장소에 저장된 최신 커밋을 받아야함.

(* 다른 팀원이 이전에 커밋한 내용이 원격 저장소에 올라와있을 텐데 git pull을 하지 않으면 원격 저장소의 최신 커밋이 반영되지 않기 때문)

 

4. 협업에서 브랜치 사용하기

: 파일 뿐만 아니라 브랜치도 원격 저장소에 push하고, 브랜치 병합 가능.

>> git push origin 브랜치이름 : 브랜치이름을 origin(원격 저장소)에 push한다는 의미.

 

* pull request로 브랜치 병합하기

[New pull request] > [Create pull request] > [Merge pull request] > [Confirm merge]를 통해 브랜치 병합