규도자 개발 블로그

github의 어이없는 실수 (about gitwiki) 본문

잡설

github의 어이없는 실수 (about gitwiki)

규도자 (gyudoza) 2021. 12. 16. 01:00

github의 어이없는 실수 (about gitwiki)

github public repo 혹은 pro plan의 private repo에서 제공하는 wiki라는 기능이 있다. gitbook과는 달리 repo내부에서 바로 접근할 수 있는 형태인데 정말 웃긴게 이 git wiki도 git으로 관리되면서 정작 지들이 막아놓은 http 프로토콜을 통한 주소만 제공한다는 점이다.

 

위 사진은 내가 만든 오픈소스 프로젝트인 PHPCronManager의 wiki(https://github.com/jujumilk3/PHPCronManager/wiki)이다. 우측 하단에 보면 알 수 있다시피 http프로토콜만 지원한다. 웹상에서 Edit, 혹은 New Page를 통해 작업한다면 모를까 로컬에서 변경하고 싶은 내용을 한번에 변경해서 최대한 적은 revision으로 commit history를 관리하거나 혹은 IDE, markdown 편집 툴에서 제공하는 기능을 이용해서 좀 더 쉽게 문서를 작성하고자 하는 니즈도 있을 터인데 저기서 제공하는 http protocol로 git을 클론받거나 remote에 등록해서 푸시를 날려보면 정말 어이없게도

 

이렇게 authentication error가 발생한다. 왜냐. 보안이슈 때문에 깃허브에서 http protocol로 id password 입력을 통한 로그인 방식을 막아놨기 때문이다. 그것도 저기 써있듯이 2021년 10월 13일부터 말이다. 벌써 만 두 달이 넘었다. 근데도 아직 수정이 안돼있다.

 

하지만 clone받은 파일의 이름을 보면 쉽게 해결할 수 있는 힌트가 있다. 바로 wiki의 repo명은 원래 프로젝트명에 wiki라는 접두어가 붙은 형태이다. 그러니까 PHPCronManager의 위키는 PHPCronManager.wiki라는 repo명으로 관리되고 있는 것이다. 그러니까 결국 프로젝트에서 제공하는 ssh protocol의 레포명에 wiki라는 접두어를 붙여서 clone을 받고 push하면 ssh가 등록돼있는 컴퓨터와 계정 사이에서는 push에 제약이 생기지 않는다. ssh 주소로 구체적인 예를 들자면

 

git@github.com:jujumilk3/PHPCronManager.git의 wiki repo는

git@github.com:jujumilk3/PHPCronManager.wiki.git로 관리되고 있다.

 

위키의 clone을 떠보면

짠. 이렇게 잘 되는 걸 볼 수 있다. 물론 변경, 커밋, 푸시 또한 아까 http때와는 달리

잘 이뤄지는 걸 확인할 수 있다. 물론 위키 페이지에 가보면

늘어난 revision수와 함께 echo로 입력한 modified가 함께 들어가있는 사실을 확인할 수 있다.

 

 

깃허브도 실수를 한다는게 신기해서 기록해둔다. 두달이 넘는 기간동안 사람들이 그러려니 하고 쓰고 있겠지 싶어서 마냥 냅두다니. 크리티컬한 문제도 아니고 귀찮나보다. 갑자기 깃허브에서 사람냄새가 나는 것 같다. 인간미가 느껴진다.

 

Comments