터미널로 git을 다루는 것이 어려워보여서
소스트리로 사용을 해왔었는데 배워야 할 때가 왔다
역시 처음부터 피하지 말고 어려워도 도전하는게 중요한 것 같다
✅ Git의 환경설정을 할 수 있다.
✅ 버전 관리 시스템의 필요성을 이해할 수 있다.
✅ Github과 Git의 관계에 대해 이해할 수 있다.
✅ Repository에 대해 이해할 수 있다.
Git
: 소스 코드 기록을 관리하고 추적할 수 있는 버전 관리 시스템
특정 시점에 생성된 백업 복사본을 스냅샷이라 하고
이렇게 하나 하나 스냅샷을 만들어 주는 작업을 commit이라고 한다
Github
: 내 컴퓨터에서 Git으로 관리하는 프로젝트를 올려둘 수 있는 사이트
버전관리를 사용하는 이유
1 파일이 변경되면 변경이력을 저장할 수 있다
2 이전 버전으로 돌아갈 수 있다
3 어떤 변경 사항이 발생했는지 알아보기 쉽다
4 협업하기 좋다
5 백업용도
Git Repository
: 저장소, 말그대로 파일이나 폴더를 저장해 주는곳
Git으로 관리되는 폴더를 Git repository 라고 한다
1 Fork
온라인 상에 올라와있는 소스코드를 가져오기 위해서는
내 저장소로 가지고 오는 작업이 필요하다
2 git Clone
이 코드를 수정하기 위해서는 내 컴퓨터로 가져오는 작업이 또 필요하다
3 Push
소스 코드를 수정하고 난 뒤 변경된 내용을 commit을 통해 저장해 주고
반대로 올려주는 작업이 필요하다
4 Pull request
이렇게 Push를 완료하고 나면 GitHub에는 Pull request라는 기능이 있어서,
내가 제안한 코드 변경사항에 대해 반영 여부를 요청할 수 있다
git --version
명령어로 터미널에서 git이 설치되었는지 확인할 수 있다.git에 대해 알아봤으니 터미널로 설치해보자
터미널을 열고 (Ctrl + Alt + T) sudo apt install git
을 입력해 패키지 git을 설치할 수 있다
정상적으로 설치되었는지 확인하기 위해서 명령어 git --version
을 입력하면 된다
1 사용자 정보
설정에 기록된 사용자 이름과 메일 주소를 앞으로 진행할 Git 커밋 내역에 기록합니다.
Github에 등록된 사용자 이름과 이메일 주소를 등록 해주면 된다
$ git config --global user.name "나의 사용자 이름"
$ git config --global user.email "내 이메일 주소"
2 에디터
Git에서 커밋 메시지를 기록할 때, 특히 merge commit 확인 메시지가 나올 때 기본값으로 텍스트 에디터 vi가 열리는데, vi 에 익숙하지 않다면, nano로 변경하는 것이 좋다
$ git config --global core.editor nano
최근 Github의 정책이 변경되어,
HTTPS로 git을 사용할 때에는 토큰을 발행하여 접속해야 한다
이건 나중에 토큰 콘텐츠에서 다루기 때문에 오늘은 ssh를 이용해보자
ssh는 Secure shell의 줄임말(Secure SHell)로, 보안이 강화된 shell 접속을 의미한다
CLI 환경(터미널)에서 다른 PC에 접속하거나 요청할 때 사용하며, 비대칭키를 이용해 사용자를 인증한다
1 SSH 키 생성
ssh 키는 비대칭키로 구성되며,
그 이름에서 유추할 수 있듯이 두 개의 키가 서로 대칭이 되지 않는 형태로 존재한다
ssh-keygen
경로 ~/.ssh./ 에 두 파일 id_rsa 와 id_rsa.pub 를 생성하는데 이 두 파일은
ssh키 페어이고
id_rsa.pub
는 누구에게나 공개해도 되는 공개키(Public Key)
id_rsa
는 공개되면 안되는 키 개인키(Private Key) 또는 비밀키(Secret Key)라고한다
2 공개키(Public Key) 복사
cat ~/.ssh/id_rsa.pub
화면에 출력된 키를 복사하면 된다
3 Github에 공개키 등록
프로필 - Settings - SSH and GPG keys -New SSH Key 에서 구분할 수 있게
title을 작성하고 key에는 복사해둔 키를 붙여 넣어준다
4 테스트하기
Repository에서 Code - SSH 의 문자열을 복사한뒤
git clone 뒤에 써주면 정상적으로 동작하는 지 알 수 있다
ls를 입력해서 폴더가 생성된 것을 보면 정상 작동 한 것이다!
git clone <복사한 문자열>
Github CLI : 깃헙을 CLI로 쉽게 사용할 수 있는 CLI 도구
우분투에서의 설치과정
$ curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg 또는 sudo gpg --dearmor -o /usr/share/keyrings/githubcli-archive-keyring.gpg
$ echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" 또는 sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null
$ sudo apt update
$ sudo apt install gh
gh auth login
명령어를 통해 로그인을 시도? What accout do you want to log into? GitHub.com
? What is your preferred protocol for Git Operations? HTTPS
? Authenticate Git with your GitHub credentials? Yes
? How would you like to authenticate GitHub CLI? Login with a web browser
one-time code를 적어주면 터미널 화면에서도 인증이 완료 되었다!
m1 구매후 새로 연결
ssh 새로 발급 , 등록 후
코드스테이츠와 연결해줘야 npm install 시 오류가 나지 않는다$ /bin/bash -c "$(curl -fsSL https://codestates-content.s3.ap-northeast-2.amazonaws.com/npm-registry/registry.sh)"