[git/github] 로컬 - 원격 상호작용

c_10.log·2023년 3월 4일
0

github

목록 보기
6/8
post-thumbnail

원격저장소 협업 이론

원격저장소는 그저 또 다른 repository(저장소)일 뿐!

  • 협업은 repository끼리의 상호작용일 뿐!
  • 크게 5가지 기능이 존재함
    1 원격저장소 조회(추가)하기
    2 원격저장소에 밀어넣기
    3 원격저장소 갖고 와서 합치기
    4 원격저장소 일단 갖고만 오기
    5 원격저장소 복사하기

git remote (-v)

내 로컬 repository와 상호작용하고 있는(혹은 할 수 있는) 원격 저장소들의 목록을 조회(-v를 통해 단축이름과 URL 같이 보기)

git remote add

<주소>에 있는 원격저장소를 <단축이름>이라는 이름으로 추가해라

git remote add <단축이름> <주소>

나의 repository랑 / 상호 작용할 원격저장소 add / 이름은 origin(단축이름) / 주소는 <주소>

git push (-u)

원격저장소로 업로드(-u를 통해 말 안해도 default로 origin과 master의 상호작용이야! 라고 말해줌, 이후에는 git push라고만 하면 됨.)

git push -u origin master

내 repository의 master 브랜치를 origin의 master 브랜치로 push해라

git pull

push가 내 로컬 repository에서 원격저장소로 업로드 하는 것이였다면
pull은 그 반대로 원격저장소에서 내 로컬 repository로 가져오는 것.(덮어 씌움)

git pull (origin master)

origin을 내 로컬 repository의 master 브랜치로 갖고와라(merge), 내 작업 내용이 덮어띄워져서 기존 작업내용은 사라짐

git fetch

git fetch (origin master)

덮어 씌우지(merge)는 말고, origin을 내 로컬 repository의 master 브랜치로 일단 갖고와라

git clone < url >

< url >에 있는 원격 저장소 내용을 현재 디렉토리에 복사해오기


원격저장소 협업 실습

  1. github에 repository 2개 생성, local에 directory 하나 생성, txt 파일 생성 후 git init → add → commit

로컬저장소와 원격저장소 연결

(로컬저장소에 상호작용할 원격저장소를 추가)

git remote //상호작용하는 원격저장소 list 확인
git remote add <단축이름> < url> //상호작용할 원격저장소 추가
git remote -v //단축이름과 url까지 확인 가능

연결된 원격저장소 삭제

gir remote rm <단축이름> //단축이름으로 된 원격저장소 삭제

연결된 원격저장소에 push

로컬에서 commit한 버전을 원격저장소로 업로드

git push -u <단축이름> <branch>
//branch에서 단축이름으로 된 원격저장소로 push


commit했던 test.txt가 단축이름 prac1으로 되어있는 원격저장소에 push된 모습

-u를 통해 git push를 해도 알아서 prac1에 업로드 됨.

pull vs fetch

  1. 새로운 버전을 생성하고 repository에 있는 파일 가져오기

pull

git pull <단축이름> <branch>

원격저장소 내에서 이렇게 내용을 바꾼 뒤,

git pull origin master

를 한다면 로컬에 저장된 파일도 변경됨을 알 수 있다.

대신 가져온 파일이 덮어씌워짐을 알 수 있음

fetch

git fetch origin

명령어를 입력하면, 로컬의 파일이 변경되진 않음.

표시된 위치로 이동하면 원격저장소에서 가져온 파일을 확인할 수 있음.

git checkout origin/master
혹은
git checkout FETCH_HEAD

해당 위치에서 파일을 확인해보면 변경사항이 포함된 파일을 확인할 수 있음.

master에서는 기존 내용임을 알 수 있음

clone

원격저장소의 repository를 통째로 나의 local에 저장하고 싶을 때
1. local의 원하는 위치에 폴더를 생성하고 Git Bash Here
2. 명령어 실행

git init
git clone < url >

clone의 경우에 origin이라는 원격저장소가 자동으로 추가됨

0개의 댓글