GIT CLI - 협업 - 1 - push와 pull을 통한 협업

HAN·2021년 5월 15일
0

Git CLI - 협업

목록 보기
1/2

생활코딩 GIT CLI 협업 강의를 듣고 작성했습니다.

혼자서 백업할 때의 과정

git init // 깃 디렉토리 설정, 디렉토리 초기화
git add . // staging area에 추적할 파일 올리기
git commit -m "wokr1" // staging area의 파일들을 커밋하여 버전 생성
git remote add origin <github_url> // 원격저장소 연결
git push -u origin master // 원격저장소에 커밋한 버전을 백업

같이 작업하기(협업)

협력자 초대하기

깃허브 홈페이지에서 원격저장소의 collaborators를 지정한다.
협력자들만 이 원격저장소에 push를 할 수 있다.

settings-collaborators 로 들어가서 유저네임을 찾아 협력자를 초대할 수 있다.

협력자의 컴퓨터 세팅

협력자는 원격저장소를 클론한다.

git clone <github_url>

타인이 수정한 원격저장소를 내 로컬저장소에 동기화

만약 다른 사람이 수정내용을 push한 후 또 다른 누군가 한명이라도 pull로 내려받았다면, 협력자 모두는 해당 원격저장소를 모두 다 pull해야 한다. 그 전까지는 새롭게 push 할 수 없다. 하지만 여러 사람이 계속 push만 했다면 모든 push된 사항을 pull로 한번에 동기화 할 수 있다.

ex)

  • 원격저장소 M에는 master에 버전 1이 있다.
  • 협력자 a가 M을 클론하고 master에 버전 2A를 만들었다.
  • 협력자 a는 이를 원격저장소에 push한 뒤, 다시 pull 했다.
  • 협력자 b도 M을 클론하고 master에 버전 2B를 만들었다.
  • 협력자 b도 원격저장소에 push 하려고 하면 거절된다.(아래 error 메세지)
  • 원격저장소에 이미 a의 버전2a가 동기화된 상태에서 a가 Pull 했기 때문이다.
  • 따라서 b도 pull을 해서 동기화를 한 뒤에, push를 해야 한다.

=> 하나의 원격 저장소를 공유하고 있는 협력자들은, 가급적 변경사항을 자주자주 push 해주어야 한다. 그래야 추후 pull을 했을 때 merge의 분량을 줄일 수 있다. 또 pull을 통해 가끔씩 원격저장소가 업데이트 되었는지 확인해야한다.

profile
즐거운 배움이 되길

0개의 댓글