Gist는 짧은 코드, 메모 등을 기록하거나 공유할 때 사용할 수 있는 무료 서비스이다.
Gist는 git 저장소와 달리 하위 폴더를 생성하지 못한다. 모든 파일을 하나의 폴더에 올릴 수밖에 없다.
https://gist.github.com/ 에 접속하면 다음과 같은 입력폼이 중앙에 나타난다
Gist Description
: 해당 Gist에 대한 설명을 지어줄 수 있다.Filename including extenstion...
: 파일명을 확장자와 함께 입력한다. ex) README.md, index.js, main.java 등등..Add File
: 파일을 하나 더 추가할 수 있도록 입력 폼이 하나 더 생성된다.Create secret gist
: gist를 생성한다.gist를 clone하기 전에 GitHub Personal Access Token을 생성해주어야 한다. 아니면 권한 문제로 오류가 발생한다.
https://github.com/settings/tokens 이동 → Generate new Token 클릭 → Generate new Token(classic) 클릭
우리는 Gist에서 사용할 것이기에 반드시 gist를 체크한 후 생성한다.
Note
: 토큰명을 지어준다.Expiration
: 보안상으로 제공하는 기능으로 토큰의 유효기간을 설정한다. 위 과정을 마치면 다음과 같은 토큰이 생성된다.
이때 주의해야할 점은 토큰을 발급하면 반드시 따로 저장해두어야 한다. 해당 페이지에서 나가면 더 이상 토큰을 확인할 수 없다.
토큰까지 발급을 마쳤다면 다음 명령어를 통해 gist에 생성된 파일을 클론한다.
복제하고자하는 gist로 이동하여 Clone via HTTPS
를 선택한 후 복사한다.
git clone {클론할 gist의 git 주소} {클론할 폴더명}
으로 복제한다.
예시
test폴더에 gist 저장소 복제
git clone https://gist.github.com/xxxxxxxxxx.git test
이때 복제한 gist 저장소는 commit은 잘 되지만 push 명령어를 통해 업데이트하려하면 아래와 같은 오류가 발생한다.
remote: Repository not found.
이를 고치기 위해 우선 연결된 origin을 다음 명령어를 통해 origin을 삭제한다.
git remote rm origin
이후 origin을 git remote add origin https://{사용자명}:{GitHub Personal Access Token}@gist.github.com/{클론한 gist의 ID}
명령어로 다시 등록해준다.
git remote add origin https://username:token@gist.github.com/xxxxxxx.git
origin 등록을 하고 난 후 업스트림을 설정해주면 정상적으로 등록이 끝난다.
git push --set-upstream origin main