깃허브로 협업하기

최혜원·2023년 6월 9일
2

Git

목록 보기
5/5
post-thumbnail

📍 원격 저장소와의 네 가지 상호작용

🔥클론(clone) : 원격 저장소를 복제하기

(깃허브 상에 존재하는) 원격 저장소를 로컬 (클론받은 컴퓨터로)로 복제

소스트리 -> 새로만들기

설정 -> 원격

원격 저장소 브랜치 이름
main 브랜치   == master 브랜치
origin      == 원격 저자소에 붙은 일종의 별명
origin/HEAD == 원격 저장소 origin의 HEAD
origin/main == 원격 저장소 origin의 main

🔥푸시(push) : 원격 저장소에 밀어넣기

(내가 소유한)원격 저장소에 로컬 저장소의 변경 사항을 밀어넣기(업로드)

commit 한 것 원격 저장소에 밀어넣기!

원격 저장소에 올라감!

🔥패치(fetch) : 원격 저장소를 일단 가져만 오기

로컬저장소에서 원격저장소의 변경 사항을 가져오기
git fetch origin main
(-u 옵션을 주게 되면 다음부터 뒤 옵션 생략 가능!)

원격 저장소에 임의의 파일을 하나 올려본다.(B.txt)

원격 저장소에 올라간 파일

로컬 저장소에서 fetch

fetch한 comimt을 보기 위해서(checkout origin/master)- 원격저장소

또다른 방법! fetch를 해 온 변경사항들을 가리키는 HEAD(git checkout FETCH_HEAD)

새로 한 commit(made in github)이 보이지 않음(이유? fetch는 로컬 저장소에 병합까지 하지 않기 때문)

fetch만 하면 로컬 저장소의 master 브랜치에서는 origin/master 에서 commit한 내용을 볼 수 없다.
git log
HEAD -> main, origin/main  
fetch 후
HEAD -> main

로 변경된 이유? origin/master 브랜치는 master 브랜치에 비해서 한 커밋 앞서있기 때문이다.  

원격 저장소에서 만들어냈던 변경사항을 master 브랜치로 merge 시키기!(git checkout master -> git merge origin/master)

원격 저장소 상태와 로컬 저장소 상태가 똑같아지게 됨!

🔥풀(pull) : 원격 저장소를 가져와서 합치기

pull origin에 있는 내용을 master로

pull한 상태! 원격 저장소 commit 내용이 master 브랜치에도 반영이 되어있음! F.txt made in github

⭐️ pull은 fetch와 동시에 merge 까지 해주는 방법!!!
원격 저장소의 변경 사항을 로컬로 가지고 올 뿐만 아니라 로컬 브랜치에 병합까지

profile
어제보다 나은 오늘

0개의 댓글