git - 4

2021. 8. 8. 17:36

4장


1)
원격저장소(remote repositoy)
 - 지역저장소에서 작업 후 원격저장소와 연결하여 변경내역을 반영
 - 깃허브: 깃 사용을 위한 원격 저장소를 제공하는 서비스
           깃이 없어도 깃허브로 버전관리가 가능하며, 지역저장소에서 깃허브를 원격저장소로 연결하여 사용이 가능
   ** 구글 드라이브와 같은 클라우드에도 백업이 가능하지만, 깃허브, 깃랩과 같은 사이트는 깃 전용 원격저장소로 생각할 수 있다


2)
깃허브 원격저장소 생성
 : 깃허브가입 - 로그인 - 우상탄 '+' - New repository

3)
지역저장소를 원격저장소에 연결
   : git remote add 원격저장소브랜치명 주소
     - 깃에 원격저장소를 '주소'라 알려주고 해당 주소를 가리키는 브랜치로 '원격저장소브랜치명'로 지정한다
     - 보통 로컬 저장소를 master이라 하는 것 처럼 원격 저장소를 origin으로 명명한다
   : git remote -v
     - 원격저장소가 정상적으로 연결되어있는지 확인
4)
원격 저장소 업로드, 다운로드
 - git push : 원격 저장소에 파일 올리기
            : 업로드시 github의 아이디와 비밀번호가 필요하다

    - git push 지역의원격브랜치 지역의브랜치
       : 지역저장소에서 가리키는 원격저장소 브랜치를 통해 원격 저장소를 접속하고 업로드하고자하는 지역브랜치를 원격 저장소에 반영한다
       ex) git push origin master
          -> 지역저장소 기준 origin은 원격저장소를 가리키는 브랜치, master는 지역저장소에서 사용하는 브랜치명이다
    - git push -u 지역의원격 지역의브랜치 : 원격 저장소를 가리키는 지역저장소의 브랜치를 지역저장소의 브랜치에 연결
       ex) git push -u origin master
          -> 처음 한 번만 위의 명령어를 사용하면, 이후 git push만 해도 자동으로 원격저장소의 해당 브랜치로 업로드된다
             (지역저장소의 브랜치인 master와 원격저장소의 브랜치인 origin을 서로 연결하였기 때문에 생략해도 문제가 없음)

 - git pull : 지역 저장소에 파일 받기
   - git pull 지역의원격 지역의브랜치
      : 지역저장소에서 가리키는 원격저장소 브랜치를 통해 원격 저장소의 내용을 지역저장소의 특정 브랜치로 내용을 가져온다
      ex) git pull origin master
           -> 여기서의 master은 위의 master와는 달리 지역저장소의 master이다
    ** 아까 위에서 -u옵션을 사용해 연결하였다면 git pull만 해도 정상적으로 동작한다




5)
github에서 직접 수정 및 커밋하기
 - 깃허브 로그인 - 해당프로젝트 클릭 - code탭 클릭 - Add file의 Create new file 클릭

6)
ssh(secure shell)을 통해 깃허브 접속
   ** SSH: 보안이 강화된 원격 접속방법. 기본적으로 개인키(private key)와 공용키(public key)로 나뉜다  
 - ssh키를 생성하고 이를 등록함으로 비밀번호 없이 접속이 가능하다

 - 지역저장소에서 ssh 생성
     ssh-keygen : 키 생성이후 ~/.ssh에 키가 생성된것을 확인가능(.pub가 공용키)
 - 지역저장소의 ssh key를 원격저장소에 등록하기
     : 지역저장소의 공용키를 복사
     : 우상단 사용자아이콘 클릭 - settings - SSH and GPG keys 클릭 - New SSH key 클릭


 - ssh 주소(키)로 지역 저장소와 원격 저장소 연결
    : 원격저장소의 ssh주소 복사
    : 지역저장소에서 'git remote add origin ssh주소' 명령어 실행
    : git remote -v 명령으로 연결여부 확인가능

** 이제 비밀번호 없이 push pull 사용가능

'Study > git' 카테고리의 다른 글

git - 6  (0) 2021.08.08
git- 5  (0) 2021.08.08
git - 3  (0) 2021.08.08
git - 2  (0) 2021.08.07
git - 1  (0) 2021.08.07

+ Recent posts