정리노트

[깃허브]

망고고래 2024. 1. 11. 13:02

Ch 05. 깃허브로 협업하기

5.1. 서로 다른 컴퓨터에서 원격 저장소 함께 사용하기

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

5.3. 협업의 기본

5.4. 원격 저장소에서 협업하기

 

 

 

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

1)원격 main 브랜치(깃허브)

깃허브에서 받아온 뒤에 커밋을 한 번 더 하면 status에 "Your branch is ahead of 'origin/main' by 1 commit."이라고 표시된다.

git log로 확인하면 origin/main, origin/HEAD 위에 (HEAD -> main)이 있는 것을 볼 수 있다.

git push로 깃허브에 업로드하고 다시 로그를 확인해보면 (HEAD -> main과 origin/main, origin/HEAD)가 같은 곳에 위치해있다.

 

 

 

2)원격 브랜치 정보 가져오기: git fetch

git pull은 원격 저장소의 커밋을 무조건 내 지역 저장소에 합치는 명령어이다.

git fetch는 원격 저장소에서 수정한 내용을 가져와서 검토하고 필요할 때만 지역 저장소에 합칠 수 있는 명령어이다.

origin/main보다 commit이 하나 뒤처져있다고 나온다. fetch로 가져온 정보는 diff로 확인할 수 있다.

파일이 새로 추가되었음을 알려준다. e69de29는 파일이 비어있다는 뜻이다.

 

 

5.3. 협업의 기본

협업 전에 미리 정해야 할 사항이 있다.

  1. 브랜치 이름
  2. 레이블
  3. 이슈 관리
  4. 등등

1)협업을 위한 저장소 만들기

깃허브 우측 상단에서 [+]→[New repository] 선택

저장소 이름을 입력한다.

README 파일을 추가하고 싶다면 Add a README file에 체크한다.

Create repoisotry로 저장소를 생성한다.

 

 

공동 작업자 추가

[Settings]→[Collaborators]에서 이름이나 이메일로 초대(이메일 추천)

초대를 받은 사람이 수락하면 공동 작업자로 추가된다.

 

 

5.4. 원격 저장소에서 협업하기

공동 작업자는 브랜치를 하나 맡아서 작업한다.

1. git clone 원격저장소주소.git 디렉터리명 ->저장소 복제

2. 복제된 저장소로 이동해서 확인

$ cd 디렉터리명
$ git log

 

3. 커밋할 때 사용할 이름과 이메일 주소 설정

$ git config user.name "사용자명"
$ git config user.email "메일 주소"

--global 옵션을 붙이면 모든 저장소에서 같은 이메일 주소와 이름을 사용한다.

--global이 없으면 이 디렉터리에서만 사용한다.

 

4. 원격 저장소에 커밋 푸시

4-1. 풀 먼저 진행(누군가가 커밋을 푸시했을 수 있음)

$ git pull

변경사항이 없으면 'Already up to update' 표시

4-2. 푸시

$ git add apple.txt
$ git commit -m "apple.txt"
$ git push -u origin apple

 

5. 풀 리퀘스트 보내기

풀 리퀘스트를 올리면 서로 의견을 남기고 확인한 후에 커밋을 병합할 수 있다.

리파지토리의 메인 오너가 확인하고 머지한다.

머지할 때 메시지를 남길 수 있다.

완료 알림