티스토리 뷰

baby steps/Git

Git 기초지식 03 / git remote, git push, git pull & git clone

무니웜테일패드풋프롱스 2020. 3. 28. 12:27

 

1) 원격저장소 추가, push 하기 

 

왜 원격저장소를 추가하는가? 이는 로컬 (우리의 컴퓨터)의 내용을 원격 저장소에 백업한다고 생각하면된다.

그래서 원격 저장소와 우리의 로컬의 저장소를 연결해야한다.

여기서 원격 저장소는 여러가지의 후보가 있지만 나는 가장 편한 github을 선택하였다. 

이는 매우 쉽기때문에 글로만 설명하겠다.

 

1) git bash를 켜서 원하는 dir을 cd로 한다

2) git init을 해준다

3) github에 가서 New repository 버튼을 눌러준다.

4) 다시 git bash로 돌아와서 

git remote add origin https://github.com/user/repo.git

을 입력한다. 여기서 뒤의 주소는 github에서 new repository의 url을 복사해주면 된다.

 

이러면 우리의 로컬 저장소 (해당 디렉토리) 와 원격 저장소가 연결된다.

그렇다면 로컬 저장소에 있는 파일을 원격 저장소에 옮기기 위해서는 뭘 해주면 될까 ?_?

일단 로컬 저장소에서 add, commit을 해준 후에 , 

git push origin master

를 입력해주면 된다. 이러면 아마 github에 로그인 하라고 할 것이다.

 

여기서 위의 명령어는

git push <remote repository의 별명> <branch 이름> 임을 알 수 있다

즉 다른 branch를 push하고자 할때는 master를 빼고, 해당 branch의 이름을 넣으면 된다.

 

 

2) 원격 저장소를 복제하기 clone (최초의 복제시 사용)

일단 우리가 git_prac이라는 로컬 저장소가 있다고 생각해보자 그리고 이를 깃허브의 원격 저장소에 추가했다.

근데 우리가 다른 컴퓨터를 가지고 있다고 할 때!! 혹은 한 컴퓨터에서 다시 이 내용을 복제하고자 할 때

git clone을 쓰면 된다.

 

clone을 해주기 위해서는 복제하고자 하는 원격 저장소에 들어가서, clone or download 버튼을 눌러주고,

해당 주소를 복제한다.

git clone 복제한 주소

를 해주면

이렇게 된다. 나는 일단 git_prac_clone1이라는 디렉토리를 만들어서 그 안에 복제하게 했다.

여기서 주소 뒤에 git_prac.git의 의미는 "지금 니가 가리키고 있는 디렉토리에 git_prac만들어서 그 안에다가 복제할게" 라는 의미이다. 

그리고 나서, 원격 저장소에 저장되어있는 "hello.txt"라는 파일을 이렇게 바꾸었다.

 

변경 후, 커밋을 해주고 push를 하면, 원격 저장소의 해당 파일 (hello.txt)의 내용이 변경되어 있음을 알 수 있다.

 

 

 

 

3) 원격 저장소 pull 하기 

 

그렇다면 , 우리의 첫 로컬 저장소의 hello.txt파일도 clone -> git_prac에서 변경한내용대로 바뀌어있을까? 답은 No이다. 

다시 git_prac 로컬 디렉토리로 와서 확이하면, 위의 변경사항을 push하기 전임을 알 수 있다. 

해다 로컬 저장소의 정보를 원격 저장소의 최신 정보로 변경해주기 위해서는 git pull을 입력하면 된다. 

자!! 이렇게 git pull을 해주고 git log를 보면, 해당 로컬 저장소도 clone->git_prac에서 원격저장소에 저장한 내용대로 변경되어 있음을 알 수 있다.

실제로 다시 hello.txt의 내용을 보면 변경된 것을 확인 할 수 있다.

즉 git pull 을 통해서 우리는 로컬 저장소에 원격 저장소로부터 변경된 사항들을 다운로드 할 수 있음을 알게 되었다. 따라서, 두개의 로컬이 있을 때 ,

먼저 다른 로컬에서 원격 저장소에 새로운 내용을 push 했을 수 있으므로 pull을 해주고, 

변경사항이 있다면 push를 해준다.

 

 

이렇게 git의 push, pull, clone 그리고 remote를 알아보았다. 

이것은 깃-깃허브의 핵심 기능이므로 잘 알아두도록 하자.

 

 

 

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함