ivory's Log
그게 무엇이라도 항상 쉬운 일이다.

ivory's DevLog

Git 폭파범이 '간단하게' 정리한 Git Remote Repository

ivorycode 2021. 3. 29. 16:15
반응형

이 글은 Git Remote Repository에 대해 '간단하게' 적은 글입니다. 이 포스팅을 포함해 게시된 모든 포스팅의 큰 주제는 순차적인 흐름을 지키지 않습니다. 혼란에 주의해 주세요!

 

개인의 실수로 폭파된 Git은 책임지지 않습니다!!!


개발 협업을 하는 데 있어, git은 빼놓으래야 뺄 수 없는 가장 중요한 시스템중 하나다. 자칭 git폭파범인 나도 개발 인턴, 취직 후 실무를 하며 git add, commit, push 등 기본적인 사용 명령어부터 시작하여 고급(?) 명령어도 공부하면서 적용해보고 있는데, 문득 기본적인 명령어를 사용하다가 궁금증이 생겼다.

 

git remote add origin blablabla

git push origin master

...

 

위의 명령어를 쓸 때마다 '저 origin이 대체 뭐지'라는 의문이 들었다. 나중에 알고 보니 정말 간단한 내용이었지만 이 궁금증을 해결하기 위해 찾아보고 정리한 내용을 이번 포스팅에서 다루려고 한다.

 

이미지 출처: www.google.com

원격 저장소(Remote Repository)

사용하는 이유

원격 저장소는 알다시피 인터넷, 네트워크 어딘가에 있는 저장소를 말한다.(Git 공식문서에 명시되어 있음.) 원격 저장소를 사용하는 이유는 명확하다. 소스코드와 버전을 백업하고, 다른 사람과 협업을 하기 위한 핵심적인 기능을 사용할 수 있기 때문이다.

 

git clone

저장소 복제해보기

원격 저장소를 연결하는 방법은 원격 저장소를 로컬 저장소에 복제하는 clone과 원격 저장소를 추가할 수 있는 remote add가 있다. 차례대로 알아보기 전에 github.com에서 테스트를 따라 해 볼 저장소가 필요하니 미리미리 테스트 저장소를 생성해놓자!(해당 포스팅에선 저장소 생성 방법을 다루지 않는다.)

 

※1. 원격 저장소 → 지역 저장소로 복제하기

1. 현재 원격 저장소 상태 확인하기
git remote -v

 

git remote -v의 결과.

git remote -v를 입력하였더니, 연결된 저장소 정보를 확인할 수 없다. 이건 당연한 결과다. 그럼 이제 본격적으로 clone으로 저장소를 복제해보자. 미리 생성한 github 테스트 저장소의 url을 복사하고 아래와 같이 입력해보자.

 

2.  원격 저장소 복제하기
git clone "복사해온 저장소 url"

 

git clone의 결과.

(혹자는 바탕화면에 testgit이라는 새로운 폴더를 생성하고 그 경로에 clone을 진행하였다.) git clone에 성공했다면, clone을 진행한 디렉토리에 아까 테스트로 생성했던 원격 저장소의 이름과 동일한 폴더가 하나 생성된 것을 확인할 수 있다. 여기서 터미널에 cd "저장소 폴더 이름"과 git remote -v 입력해보자.

 

3.  원격 저장소 연결 확인하기

#1. 디렉토리 접근하기
cd "저장소 폴더 이름"

#2. 연결 최종 확인하기
git remote -v

 

원격 저장소의 main 브랜치에 성공적으로 연결되었다.

이렇게 git clone을 활용하여 원격 저장소 복제 방법에 대해 알아봤다. 계속해서 git remote add에 대해 배워보자.

 

git remote add

저장소 추가해보기

현재 연결되어 있는 원격 저장소 상황.

현재 연결된 원격 저장소를 확인해보니, origin '저장소 url'이 확인된다. 우선 origin에 관한 설명은 뒤로 미루고 다음 명령어를 터미널에 입력해보자.

 

※2. 저장소 추가하기

git remote add "원하는 저장소 이름" "저장소 url"

 

git remote -v로 확인해본 결과.

위의 명령어와 name이란 새로운 저장소 이름을 입력하고 git remote -v로 확인해보니 origin이란 이름과 name이란 이름을 가진 새로운 저장소가 추가된 것을 확인할 수 있다. 여기서 궁금증의 주제인 origin의 정체를 파악할 수 있었다.

 

origin의 정체

원격 저장소의 별명(alias)

origin의 정체는 바로 원격 저장소의 별명이었고 originclone 때, 자동으로 설정되는 별명이면서 일종의 컨벤션이었다.(의외로 간단했다.)

 

마치며

origin의 정체를 밝히기 위해 git에 대한 복습과 깊이 있는 공부를 할 수 있었다.(자연스럽게 git의 동작원리를 공부하였는데, 이 부분은 아직 정리가 되지 않았다...) 역시 공부해서 궁금증을 해결하고 나니 꽤 개운한 느낌이 들지만, 한편으로는 너무나 간단한(?) 내용이어서 또 잘못된 공부를 하고 있었다는 생각이 든다. 속도는 느리더라도 청개구리가 개과천선하는 날이 오기를...ㅜ

반응형

'ivory's DevLog' 카테고리의 다른 글

Redux의 흐름과 예제  (1) 2021.09.28
Redux  (0) 2021.09.27
HTTP와 HTTPS 그리고 Mixed Content  (0) 2021.03.26
Next.js를 사용하는 이유  (2) 2021.03.03
인증(Authentication)과 인가(Authorization)  (0) 2020.12.22