지금까지는 깃으로 User의 지역 저장소, 나의 하드디스크에 파일을 저장했었다.
인터넷에서 버전 관리를 위해서 깃허브 서비스에 대해 공부해 보고자 한다.
원격 저장소와 깃허브
백업 및 공유의 개념으로 원격 저장소를 많이 사용한다.
원격 저장소는 깃허브를 많이 사용하는데, 무료이면서도 전세계의 개발자가 많이 사용한다.
깃허브를 사용해야 하는 추가적인 이유들은 다음과 같다.
- 많은 개발자들이 공개해 둔 오픈 소스들을 확인할 수 있고 오픈 소스에 참여할 수도 있다.
- 깃허브에 있는 코드스페이스(Codespaces)라는 기능을 사용하면 깃허브 내에 나만의 개발 환경도 만들 수 있다.
- 협업 프로젝트에 사용할 수 있다
- 자신의 개발 이력을 남길 수 있다
깃허브 가입하기
인터넷 깃허브 사이트에서 회원 가입을 하면 된다.
지역 저장소와 원격 저장소
지역 저장소는 사용자 컴퓨터에 있는 저장소, 원격 저장소는 깃허브에 있는 저장소를 말한다.
- 푸쉬(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 기록을 남겨서 동기부여와 소스 저장소로 사용해야 겠다.
'Git & GitHub' 카테고리의 다른 글
깃허브로 협업하기 - 원격 저장소 공동작업 (0) | 2024.02.15 |
---|---|
깃허브로 협업하기 - 원격 저장소 함께 사용하기 (1) | 2024.02.12 |
깃 명령어 총정리 (0) | 2024.02.09 |
깃 브랜치 - 브랜치 병합하기 + 삭제하기 (0) | 2024.02.08 |
깃과 브랜치 - 브랜치 생성 및 활용 (1) | 2024.02.07 |
댓글