본문 바로가기
Git&GitHub

[GitHub.04] 원격 저장소에 올리기(push) & 내려받기(pull)

by 어쩌다개발 2023. 1. 22.
반응형

참고 : Do It! 깃&깃허브 입문

지역 저장소와 원격 저장소를 연결하면, 지역 저장소의 소스를 원격 저장소에 올릴 수도 있고, 원격 저장소의 소스를 지역 저장소로 내려받을 수도 있다.

지역 저장소의 소스를 원격 저장소로 올리는 것을 '푸시(Push)' 라고 하고, 원격 저장소에서 지역 저장소로 내려받는 것을 '풀(Pull)'이라고 한다.

원격 저장소에 파일 올리기 - git push

원격 저장소에 처음 접속할 때 나타나는 내용 중 두번째 항목이 바로 푸시하라는 명령이다.

참고) github 에서 master 가 아닌 main 으로 바뀐 이유 - https://devmango.tistory.com/82 참고

1) 터미널 창에서 다음과 같이 입력한다. 지역 저장소의 브랜치를 origin, 즉 원격 저장소의 master(main) 브랜치로 push 하라는 명령어이다. 여기에서 '-u' 옵션은 지역 저장소의 브랜치를 원격 저장소의 master(main) 브랜치에 연결하기 위한 것으로 처음에 한 번만 사용하면 된다.
(git을 처음 연결하는 분들은 https://devmango.tistory.com/81 을 참고하여 계정 설정을 해준다.)

git branch -M main
git push -u origin main

참고: push 하고 password 입력했는데, token 인증 에러 나오는 경우 : https://devmango.tistory.com/129 참고)

2) 아래와 같은 메세지가 보이면 push 가 정상적으로 완료된 것이다.

3) github 저장소에서 확인해보면 f1.txt 파일이 업로드되어 있다.

4) 한 번이라도 지역 저장소와 원격 저장소를 연결해서 푸시했다면 그 다음부터는 간단하게 push 할 수 있다. 지역 저장소에서 또 다른 커밋을 만들고 다시 push 해본다. f1.txt 파일을 아무 내용을 추가해서 수정한다.
그리고, 스테이징에 올리고 commit 해준다.

vim f1.txt
git commit -am "add b"

5) 지역 저장소에 새로운 커밋이 만들어졌으니 원격 저장소로 push 할 수 있다. 지역저장소의 브랜치와 origin의 main 브랜치를 이미 연결했기 때문이 이제는 git push 라고만 입력하면 된다.

git push

6) 깃허브 사이트에서 확인해보면 커밋 메세지와 파일 내용이 바뀐 걸 확인 할 수 있다.

 

GitHub(깃허브) 사이트에서 직접 커밋하기

1. 저장소에서 'Create new file'을 클릭한다.

2) 파일명을 입력하고 내용을 작성한다.

3) 하단에 커밋 메세지를 입력하는 화면이 보인다. 기본 메세지 그대로 놔두거나 수정한 후 'Commit new file'을 클릭한다.

4) 원격 저장소에 새로운 커밋이 추가되었다.

 

원격 저장소에서 파일 내려받기 - git pull

원격 저장소에 있는 소스파일을 다른 사용사가 수정했거나 깃허브 사이트에서 직접 커밋하면 지역 저장소와 차이가 생긴다. 이럴 때는 원격 저장소와 지역 저장소의 상태를 같게 만들기 위해 원격 저장소의 소스를 지역 저장소로 가져온다.
이것을 '풀(pull)'이라고 한다.

1) loc-git 지역 저장소를 원격 저장소에 연결한 후 push 했다.
( https://devmango.tistory.com/128 참고) 
그리고, 깃허브 사이트에서 바로 f2.txt 파일을 새로 만들었다. 그러므로 loc-git 지역 저장소에는 아직 f2.txt 파일이 없다. 터미널 창에서 loc-git 디렉터리로 이동해서 내용을 확인한다.

2) 다음 명령어를 입력한다. origin(원격 저장소)의 내용을 mian(master) 브랜치로 가져온다는 뜻이다.
(git branch로 현재 브랜치를 확인 한 후 master 라면 main 대신 master 를 입력해준다.)

git pull origin main

3) git log 명령으로 커밋 로그를 확인 해본다. 깃허브 사이트에서 만들었던 f2.txt 커밋 메세지 로그도 확인되는 걸 알 수 있다.

 

반응형

댓글