개발자

Git push, clone, pull 명령어

june__kim 2021. 1. 15. 20:29

Git push, clone, pull 명령어

 

2021/01/10 - [개발자/Git&Github] - Git add, commit 명령어(feat. Git과 GitHub 차이)

 

 

저번 글에서 add와 commit 명령어에 대해서 알아봤다.

 

이번에는 push, clone, pull 명령어에 대해서 알아보자.

 

 

먼저 push, clone, pull을 하기 위해선, Github에 Repository를 만들어서 연결해야 한다.

 

Github에 들어가서 로그인을 하고, 새로운 Repository를 하나 만들자.

 

GitHub Repository 생성

 

이걸 생성하고 나면 아래와 같은 화면이 뜨는데,

나는 저번 글에서 이미 local repository를 만들었으므로,

2번째에 존재하는 코드를 통해 GitHub의 Repository와 연결하면 된다.

 

Github repository에 연결

 

네모 친 부분을 복사해서 아래와 같이 터미널 창에 붙여 넣기 해준다.

(이때, local repository 폴더로 이동하고 그곳에 연결해줘야 한다.

그리고 코드 내부에 push 명령어가 있기 때문에 기존의 commit 된 파일들이 push 된다)

 

 

그리고 다시 GitHub에 가보면, 내가 commit 했던 파일들이 올라와 있는 것을 확인할 수 있다.

 

지금 이 과정을 큰 그림으로 살펴보면, 다음과 같다.

큰 그림

 

 

※ remote

이처럼 GitHub에 연동하고 싶다면, 아래의 명령어를 사용하면 되고

git remote add [repository name] [repository URL]

 

※ push

push 명령을 하고 싶으면, 아래처럼 작성하면 된다.

git push [repository name] [branch name]

 

이는 "origin"이라는 repository의 "master" 브랜치에 push 한다는 것을 의미한다.

 

이때, 매번 저렇게 모든 인자를 쓰는 것을 생략하기 위해

 

 

위의 코드처럼 push 명령어의 -u 옵션을 통해,

앞으로는 origin이라는 저장소의 master 브랜치에 push 하겠다.라고 설정한다.

 

이후에는 "git push"만 입력해도 push를 할 수 있다.

 

 

이제 clone과 pull에 대해서 살펴보자.

※ clone

clone은 Github에 올라와있는 것들을 받아오는 작업이다.

사실 이는 주로 협업할 때 사용하는데, 혼자 실험해보기 위해 "for_clone"이라는 새로운 폴더를 만들자. 

그리고 이를 VSCode로 열자.

 

그리고 VSCode 터미널 창에 아래와 같은 코드를 입력하자.

git clone [Github repository 주소]

 

이때, [Github repository 주소]는, 아래의 그림에서처럼 복사해오면 된다.

 

 

 

이 코드를 입력하면,  Github에 있는 파일들을 다음과 같이 새로운 폴더(for_clone)에 잘 받아오는 것을 확인할 수 있다. 

 

새롭게 만든 폴더

 

for_clone 폴더에서의 상황을 큰 그림으로 보면 다음과 같다.

clone

 

 

※ pull

위의 내용을 정리를 해보면,

현재 나는 "git_project"라는 폴더와 "for_clone"이라는 폴더가 있다.

 

위에서 github에 올라와있는 파일들을 clone명령어를 통해 "for_clone" 폴더로 받아왔다.

 

이제 "for_clone" 폴더에서 "haha.py라는 파일을 추가", "a.py를 수정"하고 add, commit, push를 하자. 

그럼 Github에 수정된 내용이 반영될 것이다.

 

이제 "git_project" 폴더에서 pull을 해보자!

pull은 Github의 remote Repository에 업데이트된 내용이 있을 때, 이를 그대로 받아오기 위해 사용한다.  

(즉, for_clone 폴더에서 수정한 내용들(haha.py 추가, a.py 수정)을 받아오기 위해 pull을 사용)

git pull

위의 코드를 입력하면, 아래와 같은 결과가 나온다.

 

git pull

 

이 결과창을 보면, 성공적으로 pull이 완료된 것을 볼 수 있다.

(즉, git_project폴더에 haha.py가 추가되고 a.py가 수정됨.)

 

git_project 폴더에서의 상황을 큰 그림으로 살펴보면, 다음과 같다.

pull

 

 

이 정도까지가 Git과 Github에 대한 최소한의 기본인 것 같다.

 

사실 이것 말고도 merge, 충돌 시 처리, 과거로 돌아가기, Branch 나눠서 작업 등등...

Git과 Github에 대해 공부할 것이 많은데, 이는 다음 편에서 작성해야겠다.

 

 

 

※ 혹시라도 수정이 필요한 내용이나 보충이 필요한 내용이 있다고 생각하신다면, 댓글주세요!

 

감사합니다!~~