깃허브(3): 서버(=원격) 저장소

리린·2021년 8월 26일
0

github

목록 보기
6/8

깃허브 저장소 url 구성

https://github.com/소유자/저장소

로컬 저장소를 원격 저장소로 연결

  1. 새로운 로컬 저장소를 생성하고 원격 저장소로 연결하는 방법
  2. 기존 저장소를 연결하는 방법

프로토콜별 전송법

  1. Local
  • git remote add 원격저장소별칭 폴더 경로
  1. HTTP

  2. SSH

  3. Git

주소와 별칭

  1. 별칭: 원격 서버의 주소는 긴 문자열로 되어 있어 번거롭다. 긴 서버 url 문자열을 별칭으로 만들어 사용할 수 있다.

  2. origin: 대표적으로 사용하는 별칭( 원격 서버와 연결할 때 별칭으로 origin을 사용)

  3. git remote add (원격저장소 별칭) (원격저장소 URL)
    원격 저장소 URL에 별칭을 붙인다.

  4. git remote: 연결된 원격 저장소의 이름을 출력

  • git remote -v: 원격 저장소의 별칭 이름과 url 출력
  1. push(서버로 전송) vs fetch(서버에서 가져옴)
$ git remote -v
origin  https://github.com/nahyunbak/writing-app-frontend.git (fetch)
origin  https://github.com/nahyunbak/writing-app-frontend.git (push)       
  1. git remote rename 변경전 변경후 : 별칭 이름 변경하기

7 git remote show 원격저장소별칭 : 원격 저장소의 상세 정보를 출력

  1. git remote rm 원격저장소별칭 : 원격 저장소 삭제

master( 로컬) local/master(원격 브랜치)

원격저장소 커밋 푸시의 조건

  1. 최신상태여야 한다
  • 아닐 경우 오류
  • 목적: 충돌방지
  • 해결방법: 풀 또는 페치 작업으로 자신의 로컬 저장소를 갱신해 주어야 한다
  • 권장순서: pull ->coding-> commit-> pull->push

인증정보캐시

  • 인증 정보 캐시 기능으로 아이디와 비밀번호를 임시 보관
  • git config --global credential.helper cache

원격저장소 원리

  • 깃을 원격 저장소에 연결하며 ./git/config 파일 안에 리모트 연결에 대한 설정 정보가 자동으로 추가됨

git push 원격저장소별칭 브랜치이름: 별칭 이름을 가지는 서버의 master 브랜치에 현재 브랜치를 업로드

  • 메시지
infoh@hojin MINGW64 /e/gitstudy05 (master)
$ git push origin master -------- 원격 서버로 전송
Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Writing objects: 100% (3/3), 222 bytes | 222.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To https://github.com/jinygit/gitstudy05.git
 * [new branch]      master -> master

git clone 원격저장소url : 원격저장소를 다른 이름의 로컬 저장소로 복제

  • 메시지
$ cd 메인폴더
$ mkdir gitstudy05_clone -------- 복제할 새 폴더 만들기
$ cd gitstudy05_clone/

infoh@hojin MINGW64 /e/gitstudy05_clone 
$ git clone https://github.com/jinygit/gitstudy05.git . -------- 저장소 복제
Cloning into '.'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 3 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), done.
  1. ls -all : 목록 확인
infoh@hojin MINGW64 /e/gitstudy05_clone (master)
$ ls -all -------- 목록 확인
total 13
drwxr-xr-x 1 infoh 197609  0 12월 12 17:23 .
drwxr-xr-x 1 infoh 197609  0 12월 12 17:23 ..
drwxr-xr-x 1 infoh 197609  0 12월 12 17:23 .git -------- 숨김 저
  1. git remote-v : 원격 저장소 목록 확인
infoh@gitstudy MINGW64 /e/gitstudy05_clone (master)
$ git remote -v -------- 원격 저장소 목록
origin  https://github.com/jinygit/gitstudy05.git (fetch)
origin  https://github.com/jinygit/gitstudy05.git (push)

git pull: 로컬 저장소보다 최신인 갱신된 원격 저장소의 커밋 정보를 현재 로컬 저장소로 내려받는다

  • 자동 병합 방식
  • git pull을 한 뒤 git log로 최신 커밋 로그를 확인한다(다른 사람이 한 것)

git fetch 원격저장소 url: 가져오기

  • 임시 브랜치로 커밋된 코드를 내려받음
  • 내려받은 후 현재 브랜치와 자동 병합x
  • 수동 병합인 fetch를 하면 서버/master 형태의 임시 브랜치를 생성하며, 임시 브랜치에는 커밋을 할 수 없다.

git merge 원격저장소별칭/브랜치이름: fetch 명령어로 내려받은 커밋을 로컬 저장소에 병합하고 저장

  • 메시지
infoh@hojin MINGW64 /e/gitstudy05_clone (master)
$ git merge origin/master -------- 임시 원격 브랜치 병합
Updating 6a947b8..668b5ef
Fast-forward
 server.htm | 1 +
 1 file changed, 1 insertion(+) 
profile
개발자지망생

0개의 댓글