1월 15일 자 학습 내용 정리입니다.
✅ 원격 저장소
원격 저장소는 인터넷이나 네트워크 어딘가에 위치한 저장소를 말한다.
저장소는 여러 개가 존재할 수 있는데 어떤 저장소는 읽고 쓰기가 가능한 반면 다른 저장소는 읽기만 가능할 수도 있다.
이러한 원격 저장소를 통해 데이터를 올리고 받아옴으로써 다른 사람들과의 협업이 가능하다.
github, gitlab과 같은 호스팅 서비스들이 원격 저장소에 해당한다.
✅ 원격 저장소 관련 git 명령어
git clone
원격 저장소를 받아오는 명령어이다.
git clone <repository url>
기존의 git repository를 복사한다.
repository는 원격 저장소와 로컬 저장소가 존재하는데 git clone 명령어를 이용하여 원격 저장소에 있는 내용을 로컬 저장소로 가져올 수 있다.
git remote
원격 저장소와 관련된 git 명령어이다.
git remote add origin <url>
로컬에서 원격 저장소를 연결하는 명령어이다.
url은 https://github.com/group/project 의 형태로 웹 호스트 서비스(github.com), 그룹명(group), 프로젝트명(project)으로 구성되어 있다.
origin은 원격 저장소의 단축이름이며 다른 이름으로 지정하는 것도 가능하다.
git repository를 생성했을 때 master 브랜치가 자동으로 생성되는 것처럼 기본적으로 만들어진 원격저장소의 이름은 origin이 기본값이다.
따라서 git clone 명령어로 저장소를 복사했을 때 저장소의 이름은 origin이 된다.
git remote
git remote -v
git remote show origin
git remote는 연결된 원격 저장소를 확인하는 명령어이다.
-v 옵션을 더하면 지정한 저장소의 이름과 주소를 확인할 수 있고 show origin 옵션을 더하면 연결된 원격 저장소의 자세한 정보를 확인할 수 있다.
git remote rename <변경전이름> <변경후이름>
git remote rename 명령어를 이용해 원격저장소의 이름을 변경할 수 있다.
git remote rm <이름>
git remote rm 명령어를 이용해 해당 이름을 가진 원격 저장소를 삭제할 수 있다.
git pull
원격 저장소에서 데이터를 가져와 로컬 데이터와 자동으로 병합하는 명령어이다.
git pull <이름>
git remote add 명령어를 통해 원격 저장소와 연결되었다면 해당 원격 저장소의 이름을 이용해 로컬에는 없지만 원격 저장소에는 있는 내용을 로컬로 가져올 수 있다.
pull 명령어를 사용하면 가져온 후 자동으로 로컬 데이터와 병합한다.
git fetch
git pull 명령어와 같이 원격 저장소에서 데이터를 가져오는 명령어이다.
git fetch <이름>
fetch 명령어의 경우 원격저장소에서 데이터를 가져오기만 하고 병합은 별도로 진행되어야 한다.
git fetch 명령어로 파일을 가져오면 git log 명령어로 변경된 파일을 확인하고 add, commit 후 merge 하는 작업이 필요하다.
git push
로컬 저장소에서 작업한 내용을 원격저장소에 반영하는 명령어이다.
git push <원격저장소 이름> <브랜치이름>
git push 명령어를 통해 로컬 저장소에서 작업한 내용을 원격 저장소에 등록한다.
기본적으로 생성되는 원격 저장소 이름이 origin이고 브랜치 이름은 master이기 때문에 git push origin master를 자주 쓴다.
다른 사람과 협업 중일 경우 다른 사람이 먼저 push 한 상태에서 다시 내가 push를 하는 것은 불가능하다.
따라서 다른 사람이 먼저 push한 작업을 로컬로 가져와 병합한 후 다시 push 하는 작업을 거쳐야 한다.
🔍 참조
git remote repository https://git-scm.com/book/en/v2/Git-Basics-Working-with-Remotes
'엘리스 AI 트랙 4기 > elice AI track' 카테고리의 다른 글
[2주차] String 타입의 프로퍼티와 메서드 (0) | 2022.01.18 |
---|---|
[2주차] JavaScript와 데이터 타입 (0) | 2022.01.18 |
[1주차] git branch (0) | 2022.01.17 |
[1주차] git 명령어 (0) | 2022.01.17 |
[1주차] git (0) | 2022.01.17 |
댓글