처음부터 차근차근

github에서 원격 저장소 만들고 연결하기, push와 pull 본문

Git

github에서 원격 저장소 만들고 연결하기, push와 pull

_soyoung 2021. 11. 7. 17:50
반응형
gitbub 원격 저장소 만드는 방법

 

github에 원격저장소를 만드는 방법은 매우 쉽다.

1. 먼저 github에 로그인한 뒤 Repositories탭을 클릭한 후 new를 클릭한다.

 

2. repository의 이름을 정하고 원하는 옵션을 선택한 뒤 CreateRepository를 클릭한다. 끝

 

 

 

 

원격 저장소와 연결하는 방법

 

원격 저장소를 연결하는 방법은 2가지가 있다.

  1. 이미 만들어져 있는 원격 저장소를 clone(복사)해서 연결한 후 작업하는 방법
  2. 이미 작업하고 있는 working directory 내용을 원격 저장소에 올리는 방법

 

 

 

 

이미 작업한 내용 원격 저장소에 올리는 방법

 

원격 저장소 git 주소 copy

git remote add origin copy한원격저장소https주소

로컬 원격 저장소 연결하는 방법과 동일하다.

'원격저장소https주소'에 있는 원격 저장소를 현재 working directory에다가 연결하겠다는 뜻이다.

(ssh로 연결할 때는 원격 저장소 주소 부분을 ssh 주소로 바꿔준다.)

origin은 원격 저장소 주소의 별명이다.

그리고, 하나의 working directory에 여러개의 원격 저장소를 연결할 수 있다.

 

 

 

+ ssh 사용해서 연결하기

ssh : secure shell의 줄인말

ssh를 사용해서 연결하면 아이디와 패스워드 입력없이 원격 저장소로 push된다는 장점이 있다.

 

ssh를 사용하려면 먼저 ssh key를 받아야 한다.

ssh-keygen

ssh 키를 받는 명령어이다.

이 명령어를 치고 enter을 3번 치면 다음과 같은 결과를 얻을 수 있다.

/ c / User / user / .ssh 안에는 두 개의 파일이 있다.

  • id_rsa : private key. 내 컴퓨터 고유의 ssh 키. 절대로 노출되면 안됨
  • id_rsa_pub : public key. 공개된 ssh 키.

그래서 저 밑줄 친 경로에 새로 받은 나의 ssh키 파일이 있다.

 

<ssh 통신 방식>

내 컴퓨터 안에 id_rsa(private key)를 가지고 있고, 

서버 컴퓨터가 id_rsa.pub(public key)를 가지고 있으면 그 서버에 내 컴퓨터가 접속할 때 따로 로그인을 하지 않아도 내가 누군지 식별할 수 있다.

 

즉, gitbub 측에서 id_rsa.pub에 대한 정보를 가지고 있으면 된다는 말이다.

/ c / Users / user / .ssh 로 가서 아래와 같은 명령어를 친다.

cat id_rsa.pub

이렇게 하면 id_rsa.pub 파일의 내용을 볼 수 있는데, 이 내용을 전부 copy한다.

그 다음 gitgub 사이트로 가서 로그인 한 다음 Settings를 클릭한다.

그 다음 SSH and GPS keys를 클릭한다.

 

그 다음 copy한 id_rsa.pub 파일의 내용을 아래 key 부분에다 붙여넣는다.(title은 알아서 정하기!)

Add SSH key를 누르면 ssh키가 저장된다.

 

이제 원격 저장소와 연결할 때 http주소 대신 ssh 주소를 사용해서 연결할 수 있다!

 

 

 

 

원격 저장소를 clone한 후 작업하는 방법

 

이미 만들어져 있는 원격 저장소의 https 주소를 copy해서 아래의 명령을 친다.

git clone clone한주소 디렉토리명

이렇게 하면 현재 위치에서 이름이 '디렉토리명'인 디렉토리를 새로 만들고, 그 안에다가 원격 저장소의 내용을 담는다.

디렉토리명에 .을 적으면 .은 현재 디렉토리를 의미하기 때문에 현재 디렉토리에다 내용을 담게된다.

** 주의할 점 : 디렉토리는 비어있어야한다. 비어있지 않으면 clone되지 않는다.

결과

 

 

 

 

push

 

push란 working directory의 commit을 원격 저장소에 저장하는(올리는) 행위이다.

push를 하는 명령어는 다음과 같다.

git push

 

push를 처음할 때는 아래와 같은 명령어를 쳐줘야한다.

git push -u origin master

or

git push --set-upstream origin master

현재 branch와 origin의 master branch를 동기화한다는 뜻이다.

즉, (현재 branch가 master일 때)로컬에서 master branch로 push를 하면 원격 저장소의 master branch에 내가 push한 내용이 저장되게 한다는 말이다.

이 명령은 처음 원격 저장소랑 연결했을 때 한 번만 하면 되고, 다음 부터는 git push만 입력해도 된다.

결과 : 원격 저장소에 내가 한 commit이 올라감

 

 

 

 

pull

 

pull이란 원격 저장소의 내용을 working directory로 가져오는 것을 말한다.

 

같은 원격 저장소를 사용하여 협업하는 A와 B가 있다고 예를 들어보자.

A가 원격 저장소에 a.txt를 새로 만들고, 이 commit을 원격 저장소에 push했다.

그럼 현재 B의 로컬 저장소에는 a.txt 파일이 없을 것이다.

그럼 a.txt를 원격 저장소에서 로컬 저장소로 가져와야하는데 이때 사용하는 게 pull이다.

 

pull 명령어

git pull

tip : git을 사용해서 협업을 할때는 작업 시작하기 전에 항상 pull을 받는 것이 좋다.

 

 

 

 

 

 

 

 

 

 

출처 : '지옥에서 온 Git - 생활코딩' 변형 및 요약

반응형

'Git' 카테고리의 다른 글

git flow  (0) 2021.12.06
gitignore  (0) 2021.11.08
로컬에서 원격 저장소 만들기  (0) 2021.11.06
merge(branch) 충돌 원리와 3 way merge  (0) 2021.11.04
reset의 종류  (0) 2021.10.29
Comments