서버 저장소
- 서버저장소는 원격(remote)저장소 라고 하며, 로컬저장소의 복사본이며, 안전하게 보관하고 다른사람들과 협업이 가능하다.
5.1 깃허브
- 안정적인 서버를 운영하기위해 깃 호스팅서비스 인 깃허브를 많이 사용한다.
- 공개용 저장소로 생성하면 무제한 생성가능 하다.
- 한 소유주(owner) 안에서, 같은이름의 저장소 생성 불가능하다.
5.3 깃허브 연동 및 원격등록
로컬저장소 연결방법
- 새로운 로컬저장소에 원격저장소를 연결하는 방법
$ mkdir git-study # 폴더만들기
$ cd git-study # 폴더로이동
$ git init # 저장소를 초기화
$ echo "# git-study" >> README.md # "# git-study" 라는 text를 README.md로 밀어넣기
$ git add README.md # git add (스테이지에 등록)
$ git commit -m "first commit" # 커밋
- 기존 저장소를 연결하는 방법
$ git clone [원격주소]
프로토콜
Local, HTTP, SSH, Git 특징 :
- Local : 로컬컴퓨터에 원격저장소 생성 가능 하다.
- HTTP : 일반적으로 가장 많이 사용한다.
- SSH : 많이 사용하며 보안성이 높다. (인증서를 만들어 접속 처리)
- Git : ssh와 유사하지만, 보안성이 낮아 일반적으로 많이 사용되지 않는다.
원격저장소의 리모트 목록관리
- $ git remote #원격저장소의 이름을 출력
- $ git remote -v #원격저장소의 별칭과 URL확인 가능
원격 저장소에 연결
- git remote add [원격주소별칭] [원격주소]
별칭 이름 변경과 정보
- $ git remote rename [변경전] [변경후]
- $ git remote show [원격저장소 별칭]
원격 서버 삭제
- $ git remote rm [원격저장소별칭]
5.4 ~ 5.6 서버 전송 & 내려받기
push: 서버에 전송
- $ git push [원격저장소별칭] [브랜치이름]
- $ git push # git push만 입력 시, config에 설정된 저장소 및 브랜치로 업로드(일반적으로 current)
clone:복제
- clone 명령어는 원격서버접속에 필요한 추가설정을 자동으로 수행하며, 서버에 있는 커밋된 이력들을 한번에 다운로드 한다.
pull: 서버에서 내려받기(자동병합)
- 로컬저장소와 커밋정보를 비교하여, 원격저장소의 갱신된 내용을 추가로 내려받는다.
- git pull은 원격서버에 로컬 커밋보다 최신정보가 있을때 내려받으며, 커밋정보는 임시영역에 저장된 후 자동으로 병합처리 된다.
fetch: 가져오기
- 원격 저장소에서 코드를 임시브랜치로 내려받은 후 병합하지 않는다.
- $ git fetch [원격저장소URL] # 원격저장소 URL을 입력 안해도, default config에 따른다.
merge 명령어로 수동 병합
- git merge [원격저장소별칭]/[브랜치이름]
5.7 순서 중요
최신상태
- push를 위해서는 로컬 저장소를 최신상태로 유지 해야한다.
충돌방지
권장순서
- pull -> coding -> commit -> pull -> push
- pull과 push를 자주 하여, 충돌을 최소한으로 줄여 나가면서 작업
인증정보 캐시
- 원격저장소로 접근 시, 계정정보가 필요하며, 항상 입력하지 않기 위해 캐시기능을 사용.
- $ git config --global credential.helper cache
'Git' 카테고리의 다른 글
[Git 교과서] 7장 Stash (0) | 2023.06.15 |
---|---|
[Git 교과서] 6장-2 Branch (0) | 2023.06.03 |
[Git 교과서] 6장-1 Branch (0) | 2023.05.27 |
[Git 교과서] 4장 커밋 (1) | 2023.05.11 |
[Git 교과서] 3장 깃 개념 잡기 (0) | 2023.05.02 |