gist를 clone하는 과정에서 접속키 때문에 push가 안되는 문제가 발생했다.
이 문제를 해결하기 위해 많은 방법이 있을 것 같지만, 나는 2가지 방법으로 이 문제를 해결했다.
cat ~/.ssh/id_rsa.pub
혹은 cat ~/.ssh/id_ed25519.pub
명령어를 통해 ssh 키가 이미 있는지 확인한다.ssh-rsa ~~~~이하 생략
이라는 문구가 나올 것이다. No such file ~~
라고 나온다.id_rsa.pub
라고 했고 그 이후에는 id_ed25519
라고 한다.참고:
valid_after
가 2021년 11월 2일 이전인 RSA 키(ssh-rsa
)는 서명 알고리즘을 계속 사용할 수 있습니다. 해당 날짜 이후에 생성된 RSA 키는 SHA-2 서명 알고리즘을 사용해야 합니다. SHA-2 서명을 사용하려면 일부 이전 클라이언트를 업그레이드해야 할 수 있습니다.
Host github.com
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_ed25519
ssh-add --apple-use-keychain ~/.ssh/id_ed25519
cat ~/.ssh/id_ed25519.pub
를 입력하면 파일 내용이 출력되어 나오는데 그 부분을 복사합니다. 어쩌면 이 방법이 가장 간단할 수 있을 것 같다.
https://토큰@gist.github.com/주소.git
각각의 git 명령어를 입력했을 때 git 내부에서 어떻게 동작이 이루어지는지 알게 되어서 여기에 정리하려고 한다.
git에는 여러 명령어가 있지만, 내가 확실하게 이해한 부분은 init, add, commit 정도인 것 같다.
init을 한 후에는 위에 보이는 영역중 가장 위의 영역인 Working Directory에 파일을 추가, 수정할 수 있다.
예를 들어 init을 한 후에 index.js
파일을 만들어서 작업을 진행하면 아래와 같이 파일이 Working Directory에 올라간다.
이제 여기서 add
를 진행하면 파일이 스테이징 영역에 들어가게 된다.
아래 그림과 같이 stage 영역에 들어간 파일은 staged 상태라고 표현하며 git에서 변경사항에 대해 추적하고 다음 commit에서 변경사항이 포함되게 됩니다.
이제 마지막으로 commit
은 아래 보이는 파란색 범위의 commit이라는 이름의 묶음으로 저장소에 넣게 된다.
commit 묶음으로 들어가고 이 묶음과 같이 메세지를 포함시켜 전달시킬 수도 있다.