치춘짱베리굿나이스
Gist 사용하기 + 삽질의 기록 본문
Gist
Gist란?
레포지토리에 저장할 만한 대형 프로젝트가 아닌, 간단한 코드나 메모 등을 공유하고자 할 때 쓰는 서비스
같은 주제에 대한 간단한 코드 여러 개를 묶어서 저장하고 공유할 수 있다
링크 공유 기능 (링크를 받은 사람만 해당 코드를 열람할 수 있고, 그 외에는 열람 불가능) 이 있어 Public으로 배포하기도 애매하고 Private로 설정하기엔 남들한테 코드를 보여줘야 할 때 유용하다
임베드 기능으로 코드를 이쁘게 포맷하여 출력할 수 있어서 예전에 알고리즘 풀이 공유 목적으로도 썼었다 (솔직히 티스토리 기본 코드블럭보다 훨씬 이쁘다)
지금 안쓰는 이유는… 레포지토리로 전부 정리해놓는 게 습관이 되기도 했고 Gist가 너무 늘어나면 감당이 안 돼서 그렇다
Gist 사용하기
Github 계정이 있다면 Gist도 해당 계정으로 로그인 가능하다
본인 프로필에 특정 Gist를 띄울 수도 있다
웹에서 사용하기
+ 기호를 클릭하자
Gist를 추가할 수 있는 창이 나온다
description
은 제목이 아니라 간단 설명이라고 보면 된다 (처음엔 제목인 줄 알았는데 어쩐지 잘 안 보이더라…)- 파일명을
Filename including extension…
에 적는다- 파일 확장자와 함께 적으면 Gist가 알아서 확장자를 인식하여 관련 포맷으로 색을 넣어준다
- 그래서 Gist 코드 조각을 웹으로 공유하면 정말 이쁘다… 티스토리 색 포맷 진짜 똥이다
- 우상단의 옵션들은 각각 들여쓰기 공백 / 탭 사용 여부, 공백 칸 길이, 라인 랩 여부를 지정할 수 있다
- 들여쓰기를 공백으로 지정하면 공백으로, 탭으로 지정하면 탭으로 들어간다
- 공백 길이를 설정하여 가독성을 높일 수 있다 (자스는 2칸이 국룰이다)
soft wrap
은 코드 길이가 너무 길 때 다음 줄로 래핑해주고,No wrap
은 스크롤로 들어간다…만md
랑rst
파일에만 적용된다고 한다
Add file
로 같은 description (같은 주제) 에 대한 파일들을 추가할 수 있다)- 나는 같은 날에 푼 알고리즘 문제들을 같이 올리는 용도로 썼었다
- 작성이 완료되었다면,
Create secret gist
를 눌러 gist를 추가하자
새로운 gist가 생성되었다! (2년 전 gist인 건 신경쓰지 말자….)
Github repository처럼 별도 누를 수 있고, subscribe도 할 수 있다
Edit
으로 전체 코드를 수정할 수 있다 (Gist 생성 시와 같은 창이 나온다)Delete
로 Gist 전체를 삭제할 수 있다Revisions
에는 해당 Gist에 올라온 모든 커밋을 볼 수 있다… 만 커밋 메시지는 출력되지 않으니 참고하자Embed
옆의 링크를 복사하여 웹에 붙여넣으면 임베드 코드 조각이 생성된다Download ZIP
버튼을 눌러 전체 소스코드 다운로드도 가능하다
Gist 공유하기
Embed
버튼을 눌러보면 다양한 옵션이 나온다
Embed
는 말 그대로 임베드 링크를 제공하며, 웹사이트 등에 입력하면 해당 위치에 코드 블럭이 생성된다Share
는 단순 링크를 제공하며, 브라우저 상단에 출력되는 링크와 같다Clone via HTTPS
와Clone via SSH
는 로컬에 Gist를 클론받을 때 사용하면 된다 (클론 방법은 Github repo와 같다)
Embed 링크를 이용하여 소스코드를 출력해보았다
대박 (2년전 코드긴 하지만...)
로컬에서 Gist로 커밋하기
git clone [Clone via HTTPS로 복사한 링크]
- 위의
Clone via HTTPS
를 통해 복사한 링크를 이용하여 Gist를 클론받자Clone via SSH
는 추가 권한 설정을 해줘야 하는 듯 하다
- 클론 방법, 커밋 방법, 푸시 방법 모두 Github repo와 같으므로, 편하게 커밋하면 된다
커밋 푸시가 안돼요
- 깃허브 액세스 토큰을 생성할 때 Gist 옵션을 체크했는지 확인하자
- Gist는 디렉토리 지원이 안 된다
나는 아무 생각 없이 Gist의 단순 링크를 클론받을 때 이용했는데, 권한 설정이 제대로 적용되지 않아 푸시가 되지 않았다 (repository not found…)
감사하게도 다른 분이 해결 방법을 공유해주셔서 이를 이용하여 해결했다
git clone https://[사용자명]:[액세스토큰][Clone via SSH 링크에서 맨 앞 git 제거]
또는 Clone via SSH로 클론받으면서 사용자명과 토큰을 설정해주면 정상적인 푸시가 가능한 레포가 된다
이미 클론받은 Gist (또는 레포지토리) origin 변경하기
git remote set-url origin [바꾸고 싶은 레포지토리 링크]
위의 방법을 쓰고는 싶지만 이미 커밋한 내용을 날리고 싶지 않아서 origin만 위 링크로 변경해 주었더니 푸시가 잘 되었다
git remote -v
현재 origin을 체크하려면 이 방법을 쓰면 된다
출처
'이론적인 부분들 > Git Github' 카테고리의 다른 글
Github PR 리뷰하기 (0) | 2022.07.23 |
---|---|
Github, Git 기본 <Pull Request, pull, 충돌 해결> (0) | 2022.07.23 |
Github, Git 기본 <status, add, commit, push> (0) | 2022.07.23 |
Github, Git 기본 <레포지토리 생성 및 클론> (0) | 2022.07.23 |
Github Wiki 작성하기 (0) | 2022.05.05 |