본문 바로가기

형상관리/Git

[Do it! 지옥에서 온 문서 관리자 깃&깃허브 입문]05. 깃허브로 협업하기

여러 컴퓨터에서 원격 저장소 함께 사용하기

1. 원격 저장소 복제하기

- 원격 저장소를 지역 저장소로 똑같이 가져오는 것을 복제한다 또는 클론(clone) / 클로닝(cloning)이라고 한다.

 

[1] 원격 저장소에서 code -> HTTPS -> 주소 복사

 

[2] git clone

git clone 복사한 주소 복제할 디렉터리 git clone 명령어

 

 

[3] log 확인 및 저장소 연결 확인

 

2. 개인 컴퓨터에서 작업하고 올리기

[1] 새로운 내용 커밋

 

[2] 깃허브 원격저장소에서 커밋 확인

 

3. 회사 컴퓨터에서 내려받아 작업하기

[1] 원격 저장소에 올라온 커밋 가져오기(pull)

 

[2] 새로운 내용 push

 

[3] 깃허브 원격 저장소에서 확인

 

원격 브랜치 정보 가져오기

- 최신 커밋을 합치기 전에 원격 저장소에 어떤 변화가 있는지 먼저 살펴봐야 한다.

- 일이럴 때는 원격 브랜치에서 정보만 먼저 가져올 수 있다.

 

1. 원격 MASTER 브랜치

- 원격 저장소에 있는 브랜치 : 원격 브랜치

- 원격 저장소에 있는 MASTER 브랜치 : 원격 master 브랜치

 

[1] git_homed의 HEAD 확인

HEAD는 원격 저장소의 master브랜치를 가리키고, 원격 master브랜치는 최종 커밋을 가리킨다.

- HEAD -> master : 이 커밋이 지역 저장소의 최종 커밋이라는 뜻

- origin/master : 원격 저장소의 최종 커밋.

- 현재는 지역저장소와 원격 저장소 모두 최종 커밋이 같다.

 

[2] 새로운 파일 생성 후 커밋

[3] log 확인

- HEAD -> master : 방금 커밋한 create f3.txt를 가리킴. 지역 저장소의 최종 커밋이 create f3.txt 커밋이라는 뜻임

- origin/master, origin/HEAD는 아직 add b 커밋을 가리고 있다.

 

[4] git status

현재 master 브랜치가 origin에 있는 원격 master 브랜치의 버전보다 하나 앞서 있는 것을 알 수 있다.

 

[5]push 후 log 확인

master와 origin/masater브랜치가 같은 커밋을 가리킨다.

 

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

git fetch 원격 저장소의 정보를 가져오는 명렁

- 페치(fetch) : 불러오다, 가져오다라는 뜻

- full명령 : 원격 저장소의 커밋을 가져와서 무조건 지역 저장소와 합침

- fetch명령 : 원격 브랜치에 어떤 변화가 있는지 그 정보만 가져옴

- 팀 작업 시 다른 사람이 수정한 소스를 한번 더 훑어보고 지역 저장소와 합치고 싶다면 full 대신 fetch를 사용

 

[1] git fetch

[2] git log

- 현재 HEAD -> master만 보이고 원격 저장소의 origin/master는 보이지 않음

  -> 원격 저장소의 최신 커밋 정보를 가져왔지만 아직 지역 저장소에는 합치지 않아서 원래 git_office에 있던 최신 커밋만 나타나기 때문!

 

[3] git status

- origin/master에 비해 1개의 커밋이 뒤쳐져 있다. 

  -> 원격 저장소의 최신 커밋 하나가 아직 지역 저장소에 반영되지 않았다는 뜻

  -> git pull 사용하면 지역 저장소를 업데이트 할 수 있다.

- fetch로 가져온 최신 커밋 정보는 FETCH_HEAD라는 브랜치로 가져온다.

 

[4] git checkout FETCH_HEAD 후 git log

현재 최신 커밋에 origin/master와 origin/HEAD가 표시 되어 있음.

[5] 커밋 병합

git merge 브랜치명
git pull