Git & GitHub

깃허브 시작하기 - 깃허브 가입, 원격 저장소 연결 및 동기화

Player-Hyeok 2024. 2. 10.

지금까지는 깃으로 User의 지역 저장소, 나의 하드디스크에 파일을 저장했었다.

인터넷에서 버전 관리를 위해서 깃허브 서비스에 대해 공부해 보고자 한다.

원격 저장소와 깃허브

백업 및 공유의 개념으로 원격 저장소를 많이 사용한다. 

원격 저장소는 깃허브를 많이 사용하는데, 무료이면서도 전세계의 개발자가 많이 사용한다.

깃허브를 사용해야 하는 추가적인 이유들은 다음과 같다.

  • 많은 개발자들이 공개해 둔 오픈 소스들을 확인할 수 있고 오픈 소스에 참여할 수도 있다.
  • 깃허브에 있는 코드스페이스(Codespaces)라는 기능을 사용하면 깃허브 내에 나만의 개발 환경도 만들 수 있다.
  • 협업 프로젝트에 사용할 수 있다
  • 자신의 개발 이력을 남길 수 있다

 

 

깃허브 가입하기

인터넷 깃허브 사이트에서 회원 가입을 하면 된다.

https://github.com/

 

GitHub: Let’s build from here

GitHub is where over 100 million developers shape the future of software, together. Contribute to the open source community, manage your Git repositories, review code like a pro, track bugs and fea...

github.com

 

지역 저장소와 원격 저장소

지역 저장소는 사용자 컴퓨터에 있는 저장소, 원격 저장소는 깃허브에 있는 저장소를 말한다.

  • 푸쉬(push) : 지역 저장소에서 원격 저장소로 커밋을 등록하는 것
  • 풀(pull) : 원격 저장소의 변경 사항을 지역 저장소로 내려받는 것
  • 동기화 : 지역 저장소와 원격 저장소를 항상 같게 유지하는 것

 

원격 저장소 만들기

1. 깃허브 우측 위에 + 클릭, New repository 선택, 저장소 만들기

2. 저장소 페이지에서 HTTPS 방식으로 접속 방법 선택 (ex. https://github.com/Player-Hyeok/test-1.git)

3. HTTPS 주소는 github.com/깃허브 계정 이름/저장소 이름 형식

 

 

지역 저장소를 원격 저장소에 연결하기

지역 저장소 만들기

1. cd ~

2. git init loc-git : local-git 줄임말로 새 디렉터리 만들면서 지역 저장소로 저장할 예정

3. cd loc-git

4. vim f1.txt - a 입력 후 편집기 저장 후 종료 (:wq)

5. git add f1.txt

6. git commit -m "add a"

7. git log

 

원격 저장소에 연결하기

깃허브 접속 홈페이지에서 커맨드 라인에서 기존 저장하기 푸시하기 옵션 사용(or push an existing repository from the command line) 

1. 깃허브 로그인 후 지역 저장소와 연결할 저장소 주소 복사 (https://github.com/Player-Hyeok/test-1.git)

2. git remote add origin 복사한 주소 (터미널 창) : 여기서 origin 은 복사한 주소를 단축해서 만드는 이름임.

 * 깃 배쉬에는 ctrl + v 명령어는 안된다. Shift + Insert 키가 붙여넣기

3. git remote -v : 원격 저장소 연결 되었는지 확인

  origin  https://github.com/Player-Hyeok/test-1.git (fetch)
  origin  https://github.com/Player-Hyeok/test-1.git (push)

위 메세지 확인 시 연결이 잘 된 것.

 

 

지역 저장소와 원격 저장소 동기화하기

원격 저장소에 커밋 올리기

1. git push -u origin main : -u 옵션은 지역 저장소의 브랜치를 원격 저장소의 브랜치에 연결하기 위한 것으로 처음 한번만 사용

2. 처음 푸시 시에는 깃허브 로그인 창이 나타남. 로그인해서 인증하기.

3. push 종료 후에는 깃허브의 웹 브라우저창에 f1.txt 가 올라와 있는 것을 확인할 수 있다.

4. 우측 상단에 (시계모양) 1 commit  글자를 클릭하면 커밋한 날짜와 사람, 메세지 등의 상세 정보가 보인다.

 

원격 저장소에 파일 올리기 - git push

한 번이라도 연결해서 푸시했으면 그 다음부터의 푸시는 간단하다.

1. vim f1.txt - b 글자 추가

2. git commit -am "add b"

3. git push

4. git hub 페이지 새로 고침 시 2 commit 이 되어 있고 f1.txt 에는 b 가 들어 있다. 이력에서 commit hash 를 누르면 변경 사항도 나온다.

 

원격 저장소에서 직접 커밋하기 

이번에는 원격 저장소 → 로컬 저장소로의 pull 예제이다.

우선 원격 저장소에서 파일 작성 후 커밋부터 진행한다.

1. 원격 저장소(깃허브) 에서 add file 클릭, create new file

2. 파일 이름에 f2.txt 를, 내용은 1,2,3 을 입력

3. commit changes 라는 녹색 버튼을 누르고 commit message와 설명을 입력 후 커밋 뉴 파일 진행.

 

원격 저장소에서 커밋 내려받기 - git pull

1. ls : 현재 저장소 내에 어떤 파일이 있는지 확인 (f2.txt 가 없고 f1.txt 만 있는 상태여야 함)

2. git pull origin main

3. ls : 이번에는 f2.txt 가 들어와 있어야 함.

4. git log : log 를 통해 메세지와 설명을 확인. HEAD 에서 origin/main 은 원격 저장소의 커밋을 의미

 

깃허브에 SSH 원격 접속하기

HTTPS 접속 방식 말고 SSH 방식으로도 깃허브에 접속이 가능하다.

SSH : Secure SHell 방식으로 보안이 강화된 안전한 방식으로 정보를 교환하는 방식. private key 와 public key 를 한 쌍으로 묶어 컴퓨터를 인증한다.  (ID 와 비밀번호 대신) 자동 로그인 기능이 있어 번거롭지 않게 이용할 수 있다.

 

SSH 키 생성하기

1) cd ~

2) ssh-keygen

3) 키를 확인한다

  •  Your identification has been saved in *
  •  Your public key has been saved in *

4) cd .ssh : .ssh 디렉터리에 저장되어 있는지 확인

5) ls -a : rsa 프라이빗 키와 .pub 퍼블릭 키 생성을 확인

* ssh -keygen -t ed25519 -C "your_email@example.com" 은 ed25519 알고리즘을 사용하는 최신 SSH 키 생성 명령어이다. 이 알고리즘은 더 강력하게 암호화되며 파일 크기도 작다고 한다. " "안에는 깃허브 이메일을 기입.

* 현재는 일반 keygen 을 해도 edd519 로 생성되는 것 같다.

 

깃허브에 퍼블릭 키 전송하기

1. clip <~/.ssh/id_ed25519.pub

2. 웹 브라우저에서 깃허브 로그인 후 사용자 아이콘에서 settings 선택

3. Access-SSH and GPG keys 에서 New SSH key

4. Title 적당히 작성하고 Key에 1번에서 복사한 내용을 붙여넣기 하기

이제 SSH 주소만 알면 따로 로그인 없이 깃허브 저장소에 접속할 수 있다.

 

 

SSH 주소로 원격 저장소 연결하기

1. 깃허브에 새로운 원격 저장소 생성 (실습을 위해) : 우측 위 [+] New repository 해서 test-2 저장소 생성

2. SSH 클릭 후 주소 복사

3. cd ~

4. git init connet-ssh

5. cd connet-ssh

6. git remote add origin 복사한 주소

7. git remote -v : 어떤 원격 저장소가 연결되어 있는지 확인

8. vim f.txt - 숫자 1 적고 저장

9. git add f.txt

10. git commit -m "test ssh"

11. git push -u origin main - 인증 경고 메세지는 yes 하면 된다.

12. 웹에서 파일 올라온 것 확인

 

깃허브의 기본 기능과 사용법을 어느정도 숙지해서 깃허브에 TIL, Today I Learned 기록을 남겨서 동기부여와 소스 저장소로 사용해야 겠다.

 

댓글

💲 추천