4. 깃허브 시작하기
#원격 저장소란? (remote repository)
지역 저장소가 아닌 컴퓨터나 서버에 만든 저장소 (ex. 깃허브에 있는 저장소)
- 지역 저장소와 연결되어 있으면서 백업과 협업을 더욱 편리하게 할 수 있게 함
*지역 저장소(local repository) : 사용자 컴퓨터에 있는 저장소
*push: 지역 저장소에서 원격 저장소로 커밋을 등록
*pull: 원격 저장소의 변경 사항을 지역 저장소로 내려받음
#깃허브란?
깃 사용을 위한 원격 저장소를 제공하는 서비스. 온라인에서 깃의 버전 관리 기능을 사용할 수 있음
1. 깃의 기능
a. 원격 저장소에서 깃 사용
- 지역 저장소를 만들지 않아도 깃허브에 원격 저장소를 만들어 사용
- 지역 저장소가 있다면 원격 저장소와 연결하여 사용
b. 지역 저장소 백업
깃허브에 원격 저장소를 만들고 컴퓨터의 지역 저장소를 연결한 후 동기화
c. 온라인 개발 툴 사용
- 코드스페이스(Codespaces)라는 새로운 기능
- 클라우드에서 소스를 작성/편집
d. 협업 프로젝트에 사용
- 깃과 깃허브에서 여러 가지 협업 도구를 제공
- 여러 명이 하나의 프로젝트를 진행
e. 자신의 개발 이력 남김
f. 다른 사람의 코드를 살펴봄 + 오픈 소스에 참여
전 세계 개발자들이 공유한 소스 코드를 내 저장소로 가져와서 분석
g. AI Copilot 서비스를 통해 동료와 함께 개발
2. 원격 저장소에 연결하기
a. 원격 저장소의 HTTPS 주소 복사
b. git remote add origin [복사한 주소]
c. git remote -v : 원격 저장소에 제대로 연결됐는지 확인
3. 지역 저장소와 원격 저장소 동기화하기
a. 지역 저장소의 커밋을 운격 저장소로 보내는 push
- git push -u origin main
지역 저장소의 브랜치를 origin (원격 저장소)의 main/master 브랜치로 푸시하는 명령
*-u 옵션: 지역 저장소의 브랜치를 원격 저장소의 브랜치에 연결하는 것. 처음 한번만 사용하면 됨
3. 원격 저장소에서 직접 커밋하기
- 원격 저장소에서 새로운 파일을 만들어 커밋을 추가
- git pull 명령어를 사용하여 원격 저장소의 커밋을 지역 저장소로 가져오기
- git pull origin main
4. 깃허브 원격 저장소 화면 설명
5. 깃허브에 SSH 원격 접속하기
a. SSH 원격 접속
: 프라이빗 키와 퍼블릭 키를 사용해 현재 사용하는 기기를 깃허브에 인증하는 방식
(ex. 서버 환경에서 깃허브 저장소에 접속 → 서버 자체를 깃허브에 등록, 개인 노트북으로 접속 → 노트북을 등록)
- SSH (secure shell) : 보안이 강화된 안전한 방법으로 정보를 교환하는 방식
- SSH는 private key(아무도 알 수 없게 사용자 컴퓨터에만 저장)와 public key(외부로 공개)를 한 쌍으로 묶어서 컴퓨터를 인증
- 이렇게 하면 터미널 창에서 따로 인증하지 않아도 깃허브에 접속 가능함 (자동 로그인 기능)
b. SSH 키 생성: 퍼블릭 키와 프라이빗 키 만들기
- ssh-keygen -t ed25519 -C "이메일 주소"
*-t ed25519 옵션: ed25519 알고리즘을 사용해 SSH 키를 만듦
*-C "이메일 주소" 옵션: 키에 이메일 주소를 주석으로 기록하는 옵션
- cd ..ssh; ls -la
: .ssh 디렉터리로 이동한 후 그 안에 있는 파일 살펴보는 명령어
- id_ed25519 파일: 프라이빗 키 → 사용자 시스템에 보관
- id_ed25519.pub: 퍼블릭 키 → 깃허브에 등록
- eval "$(ssh-agent -s)"; ssh-add ~/.ssh/id_ed25519
: 사용자 시스템에서 SSH 에이전트를 실행하고 프라이빗 키를 등록
c. 깃허브에 퍼블릭 키 전송하기 (SSH 방식으로 깃허브 저장소에 접속)
- 사용자 컴퓨터에 만들어져 있는 퍼블릭 키를 깃허브 서버로 전송한 다음 저장
- clip < ~/.ssh/id_ed25519.pub : id_ed25519.pub 파일 내용 복사
- 복사한 내용을 가지고 github에서 SSH key 새로 등록
- → 깃허브에 퍼블릭 키 추가 완료
- 사용자 컴퓨터에서 깃허브 저장소에 접속
- 새로운 repository 만들기 (test-2)
- SSH 방식으로 SSH 주소 복사하기
- → 원격 저장소의 SSH 주소 알아내기 완료
- 사용자 컴퓨터에 있는 프라이빗 키와 깃허브 서버에 있는 퍼블릭 키 비교
- 지역 저장소는 사용자 컴퓨터에 있는 저장소를 가리킴
- 새로운 폴더를 만든 후, 저장소를 초기화 (git init)
- git remote add origin [복사한 SSH 주소] : SSH 주소를 사용해 원격 저장소에 연결
- git remote -v : 어떤 원격 저장소가 연결되었는지 확인
- git push -u origin master : push 명령을 사용해 원격 저장소로 커밋한 내용 푸시
- 두 키가 서로 맞으면 사용자 컴퓨터와 깃허브 저장소가 연결