gist clone하기, git 동작 방식 (TIL)

SanE·2024년 7월 15일
0

컴퓨터공학

목록 보기
10/23

📚 새로 알게 된 내용


gist를 clone하는 과정에서 접속키 때문에 push가 안되는 문제가 발생했다.

이 문제를 해결하기 위해 많은 방법이 있을 것 같지만, 나는 2가지 방법으로 이 문제를 해결했다.

  1. SSH 키를 이용.
  2. Token 이용.

SSH 키 발급하는 방법

출처 : https://docs.github.com/ko/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent

  1. 우선 cat ~/.ssh/id_rsa.pub 혹은 cat ~/.ssh/id_ed25519.pub 명령어를 통해 ssh 키가 이미 있는지 확인한다.
    1. 만약 이미 있을 경우 ssh-rsa ~~~~이하 생략 이라는 문구가 나올 것이다.
    2. 만약 없을 경우 No such file ~~ 라고 나온다.
    3. 아래 참고에서 알 수 있듯 21년 11월 이전에는 위에서 처럼 id_rsa.pub 라고 했고 그 이후에는 id_ed25519 라고 한다.

참고: valid_after가 2021년 11월 2일 이전인 RSA 키(ssh-rsa)는 서명 알고리즘을 계속 사용할 수 있습니다. 해당 날짜 이후에 생성된 RSA 키는 SHA-2 서명 알고리즘을 사용해야 합니다. SHA-2 서명을 사용하려면 일부 이전 클라이언트를 업그레이드해야 할 수 있습니다.

  1. config 파일을 수정한다 ( mac의 경우 )
Host github.com
  AddKeysToAgent yes
  UseKeychain yes
  IdentityFile ~/.ssh/id_ed25519
  1. ssh-agent에 SSH 프라이빗 키를 추가하고 키 집합에 암호를 저장합니다. .
ssh-add --apple-use-keychain ~/.ssh/id_ed25519
  1. cat ~/.ssh/id_ed25519.pub 를 입력하면 파일 내용이 출력되어 나오는데 그 부분을 복사합니다.
  2. github 설정에서 new SSH key를 눌러 새로운 키를 등록합니다.

Token을 이용하는 방법

어쩌면 이 방법이 가장 간단할 수 있을 것 같다.

  1. 우선 github 설정 - developer settings - Personal access tokens 에 들어가서 용도에 맞게 토큰을 발급한다.
  2. 해당 토큰을 원하는 gist url 주소 앞에 넣어준다.

https://토큰@gist.github.com/주소.git


git 동작 방식

각각의 git 명령어를 입력했을 때 git 내부에서 어떻게 동작이 이루어지는지 알게 되어서 여기에 정리하려고 한다.

git에는 여러 명령어가 있지만, 내가 확실하게 이해한 부분은 init, add, commit 정도인 것 같다.

  • init : git을 구성하는 파일과 3가지 영역을 초기화한다.
    • init을 하게 되면 아래와 같이 3개의 영역이 초기화 된다.

init을 한 후에는 위에 보이는 영역중 가장 위의 영역인 Working Directory에 파일을 추가, 수정할 수 있다.

예를 들어 init을 한 후에 index.js 파일을 만들어서 작업을 진행하면 아래와 같이 파일이 Working Directory에 올라간다.

이제 여기서 add 를 진행하면 파일이 스테이징 영역에 들어가게 된다.

아래 그림과 같이 stage 영역에 들어간 파일은 staged 상태라고 표현하며 git에서 변경사항에 대해 추적하고 다음 commit에서 변경사항이 포함되게 됩니다.

이제 마지막으로 commit 은 아래 보이는 파란색 범위의 commit이라는 이름의 묶음으로 저장소에 넣게 된다.

commit 묶음으로 들어가고 이 묶음과 같이 메세지를 포함시켜 전달시킬 수도 있다.

profile
완벽을 찾는 프론트엔드 개발자

0개의 댓글