DEVOPS/GIT

[Git] 깃허브 원격 레퍼지토리 연동, 전송, 내려받기

연듀 2021. 10. 21. 21:24

깃허브 레퍼지토리 생성

 

 

 

 

local repository를 생성해 파일을 추가하고 커밋한다.

 

 

로컬 레포지토리에 리모트 레퍼지토리(서버)를 등록하려면 서버 주소가 필요하다.

깃허브의 레퍼지토리 주소는 프로토콜+도메인 주소로 구성되어있다. 

 

별칭: romote 서버의 주소는 긴 문자열로 구성되어 있다.

접근 편의를 위해 URL 문자열을 별칭으로 만들어 활용이 가능하다.

대표적으로 사용하는 별칭은 origin이다.

 

 

 

 

 

원격 저장소와 연결

git은 remote repository를 관리하는데 remote 명령어를 사용한다.

 

주소를 복사한 후,

 

git remote add origin [주소]

 

 

입력하면 remote repository와 연결한다.

 

= git remote add [remote repository 별칭] [remote repository URL]

 

 

 

git remote: 연결된 remote repository 이름(별칭)을 출력

git remote -v: remote repository의 별칭 이름과 URL 확인

 

 

remote 서버 삭제

 

git remote rm origin

 

 

다음 실습을 위해 다시 등록해줬다.

 

 

서버 전송

 

git push [서버별칭] [브랜치이름]

= git push origin master

 

origin 이름을 가지는 서버의 master 브랜치에 현재 브랜치를 업로드 한다.

 

 

자동으로 내려받기

git clone [remote_repository] [directory]

 

 

새로운 레퍼지토리를 생성하고 clone한다.

clone은 초기화 외에 remote 서버 접속에 필요한 추가 설정을 자동으로 수행한다.

서버의 연결 설정 후, 서버의 모든 commit 된 코드 이력을 한 번에 다운로드한다.

 

복제 후 확인

 

 

 

자동으로 내려받기

 

git pull [remote_repository]

clone이 remote repository에서 모든 내용을 처음으로 한번에 다운로드 해줬다면,

pull 명령어는 갱신된 remote repository의 commit정보를 local repository로 다운로드한다.

pull 명령어를 주기적으로 사용하여 로컬을 최신 commit 정보로 유지해야한다.

 

 

gitstudy05폴더에서 파일을 생성해 원격으로 푸시한다.

 

gitstudy05_clone 폴더로 이동해 pull 명령어를 실행한다.

git log를 해보면 추가된 commit이 다운로드 된것을 볼 수 있다.

 

 

 

git pull 명령어는 원격 저장소에 현재 커밋보다 더 최신 커밋 정보가 있을 때 다운로드한다.

다운로드한 최신 커밋을 현재 브랜치로 자동으로 병합 처리한다.

pull 명령어로 자동 병합을 하지 못할 때는 fetch 방식을 사용해야한다.

 

git fetch [원격 저장소 url]

 

fetch는 원격에서 코드를 수동으로 임시 브랜치로 다운로드한다.

원격 저장소의 커밋을 가져오기는 하지만, 로컬 저장소에는 어떤 작업도 하지 않는다.

다운로드 후 현재 브랜치와 자동 병합하지 않기 때문에 그 후 

git merge origin/master

merge명령어로 병합을 해줘야한다.

 

 

 

 

*remote repository에 push하려면 자신의 local repository를 최신 상태로 유지해야한다.

push 동작이 거부되는 경우가 생기면, pull 또는 fetch로 자신의 local repository를 갱신한 후 push 해야함