본문 바로가기

언어/Git

[Git] Git 명령어 정리 5 (git remote, git push, git pull)

https://git-scm.com/book/ko/v2/Git%EC%9D%98-%EA%B8%B0%EC%B4%88-%EB%A6%AC%EB%AA%A8%ED%8A%B8-%EC%A0%80%EC%9E%A5%EC%86%8C

 

Git - 리모트 저장소

원격 저장소라 하더라도 로컬 시스템에 위치할 수도 있다. “remote” 저장소라고 이름이 붙어있어도 이 원격 저장소가 사실 같은 로컬 시스템에 존재할 수도 있다. 여기서 “remote” 라는 이름은

git-scm.com

 

[Remote repository 관련 명령어]

 

<local directory에 연결된 remote repository 확인>

git remote
# remote repository 확인

git remote -v
# remote repository의 이름과 URL까지 확인

origin은 서버를 의미
url 확인

 

<Remote repositoy에 commit한 파일 Push하기 : git push>

git push
# commit 파일을 push하는 명령어
# git remote로 확인했을 때 local repository에 연결된 remote repository가 다르지 않다면,
# 이 명령어만으로 push가 가능

git push 리모트저장소 브랜치명
# git remote로 확인했을 때 local repository에 연결된 remote repository가 다른 경우,
# git remote로 확인된 저장소를 직접 입력하고 branch명도 입력

# 만약 local repository를 git clone으로 복제했다면 remote repository는 전부 origin으로 설정됨
# 고로 git push origin 브랜치명 을 사용하게 됨

# 브랜치명은 옛날에 master였는데, github 버전이 바뀌면서 main으로 바뀜 (Git 2.28 기준)
# 그러므로
# Git 2.28 이후의 remote repository라면 git push origin main
# Git 2.28 이전의 remote repository라면 git push origin master 를 입력하자.

 

<Remote repository에서 데이터 가져오기 : Pull & Fetch>

git fetch 리모트저장소
git fetch origin
# 아직 local repository에 반영되지 않은, remote repository의 데이터를 가져옴
# 데이터를 가져오지만 Merge(병합)는 하지 않음

git pull
# clone한 서버에서 데이터를 가져오고, 데이터를 자동으로 현재 작업하는 코드와 Merge

왜 다른 블로그에서 그토록 git push origin master를 썼는지 알게 됐다.

 

여태 이유를 모르고 따라 쓰다보니 브랜치명이 main으로 되어있던 내 저장소에 명령어가 안 먹혔던 것 같다.

 

Remote repository 이름 변경이나 삭제는 머리가 더 아파질 수 있을 것 같아서 생략한다.