git- 5
5장
1)
원격 저장소 내용을 지역 저장소로 복제하기(다운로드)
- 원격저장소의 HTTP주소 복사
- 지역저장소를 생성할 디렉터리 이동
- 'git clone HTTP주소 지역저장소명' 명령어 실행
업로드
- git push
다운로드
- git pull
** 여럿이서 작업할 때는 작업을 시작하기전 git pull 명령어를 사용하여 작업공간을 최신화시키는 것이 좋다
2)
원격 브랜지 정보 가져오기
- 원격 저장소의 브랜치는 기본적으로 master이며, 원격저장소의 HEAD는 master 브랜치를 가리키고 있다
- 지역저장소에서 git log 명령어 실행시 HEAD->master, origin/master, origin/HEAD가 출력될 텐데, 의미는 다음과 같다
HEAD->master: 현재 지역저장소의 커밋이 최종커밋이며, 현재 마스터 브랜치이다
origin/master: 원격 저장소의 마스터 브랜치
origin/HEAD : 원격 저장소의 HEAD 브랜치
- git fetch : 원격저장소의 정보 가져오기
pull 명령은 원격저장소의 커밋정보를 무조건 지역저장소와 합치는 명령어이고,
fetch 명령은 현재 지역저장소 기준 원격저장소의 변경된 정보만 가져온다
-> 실제로 git fetch이후 git log를 치면 원격 저장소의 정보가 반영되지 않았으며, git status 명령을 통해 현재 지역저장소의 브랜치가 원격 저장소와 차이가 있음을 볼 수 있다
: git fetch 명령 실행시 최신정보는 지역저장소의 기존 브랜치가 아닌 FETCH_HEAD라는 브랜치로 가져와 저장되어 있다
git checkout FETCH_HEAD 명령과 git log으로 원격저장소의 변동내역을 확인할 수 있다(해당 커밋에 origin/master, origin/HEAD 브랜치가 있을 것이다)
: 지역저장소의 내용과 원격 저장소의 내용을 합치려면
git checkout 브랜치명
git merge FETCH_HEAD
: 그냥 바로 합치려면 git pull명령사용
3)
협업 인원 추가하기
- 깃허브 프로젝트화면에서 settings탭 클릭 - manage access 클릭 - invite a collaborator 클릭 - 깃허브 아이디 혹은 메일주소 입력
- 협업 인원은 초대메일과 메세지를 받는다
개별 환경구축
- 이전에 한것과 동일하게 개별 컴퓨터에서 git init, git config user.name, git config user.email 수행
- 원격저장소 구축을 위해 한 사람이 파일 생성 및 git remote add, git push 수행
- 나머지 인원들 git clone 수행
- 항상 작업 전, 업데이트를 했는지 알 수 없기 때문에 git pull 수행이후 코드 수정
(원격저장소와 같은 커밋을 공유하고 있지 않을 경우, git pull시 [rejected]가 발생한다)
4)
협업에서 브랜치 사용하기
- 지역저장소에서 브랜치 생성
- 브랜치 원격저장소에 반영
- 원격저장소(github)에서 브랜치 병합(merge)
** 자세한 내용은 책 참조