Happy Git-ing!

git
모든 플랫폼에서 git과 github 잘 쓰기
Author

JS HUHH

Published

April 27, 2022

Note

이 포스팅은 깃 혹은 깃허브에 관한 일반적인 해설이나 이용법이 아닙니다. 깃 혹은 깃허브를 어느 정도 활용하고 있다고 할 때 가려움을 긁어주는 용도로 작성된 글입니다.

tl; dr

  • 깃과 깃허브를 OS를 아우르면서 써보자.
  • 깃헙 데스크탑, gh CLI 활용하자.
  • WSL에서 쓰기 위해서는 별도의 처방이 필요하다.

Common Tools

이상적으로 말하면 git을 쓸 때 터미널(CLI)을 통해 쓰면 좋다. 하지만 우리는 인간이고 터미널 명령어는 잊기 쉽다. 그래서 UI를 갖춘 틀이 있으면 좋다.

아마도 깃을 쓴다면 저장소로 깃랩이나 깃헙을 같이 쓸 것이다. 나는 깃헙을 쓰고 있으므로 깃헙을 중심으로 설명하겠다.

깃헙 데스크탑은 플랫폼을 가리지 않고 깃헙을 쓸 수 있게 해주는 앱이다. 플랫폼 별로 다운로드 받아서 쓰면 된다. 리포지터리(리포)를 생성하고 클론하고 하는 작업이 모두 UI 내에서 가능해서 제법 편리하다. 자세한 사용법은 생략한다.

그래도 터미널을 써야 한다면?

그래도 터미널에서 직접 깃을 써야 할 때가 있다. 이때부터 문제가 다소 복잡해진다. 깃의 원격 저장소를 세팅해야 하는데, 깃헙을 쓴다면 인증도 해야한다. 이걸 뭔가 편리하게 할 수 없을까?

gh CLI

이러한 불편을 해소하기 위해서 github에서 만든 툴이 gh CLI다. 이 녀석도 플랫폼별로 제공되고, ,터미널로 깃헙을 제어하고 여러가지 작업을 할 수 있게 만든 툴이다. 다른 명령어들도 유용하지만 제일 유용한 것은 인증에 관련된 것이다.

$ gh auth login  

현재 깃헙은 터미널에서 id/password를 통한 로그인을 막고 있다. 저장소 주소를 origin에 넣고 id/password로 로그인 할 수 없다. 위 명령어를 실행하면 조건에 따라서 로그인 절차를 상세하게 안내해준다. 그대로 따라서 깃헙에 로그인 하면 된다.

OS 별 설치

앞에 소개했던 github desktop은 그 자체로서 온전하게 운용된다. 다시 말해 이 앱 자체가 외부의 다른 앱에 의존하지 않기 때문에 앱 내에서 git을 쓰는 이상 이 녀석만 깔면 된다. gh CLI의 경우에는 OS에 깃이 깔려 있어야 한다.

Linux, Macos

두 OS 모두 깃이 기본으로 깔려 있다. 따라서 gh CLI를 깔아서 잘 쓰면 된다.

Windows 10

원도10의 경우는 고려해야 할 사항이 몇 가지 있다. 윈도우용 깃을 다운받아서 깔아도 되지만 그것보다는 Powershell을 통해서 윈도 패키지 매니저인 winget을 이용해 설치하면 좋다.

$ winget install -e --id Git.Git

이렇게 깃을 설치한 후 gh auth login을 통해서 로그인을 수행하면 git의 원격 저장소 설정이 잘 이루어진다.

WSL

WSL은 Windows 10 안에서 돌고 있는 가상 머신이고 엄밀한 관점에서는 별도의 기계다. 다른 Ubuntu와 마찬가지로 깃이 기본으로 깔려 있다. 따라서 외부 저장소에 대한 인증이 필요하다.

상식적으로는 gh CLI를 통해서 가능할 것 같은데 그렇지 않다. 이에 대한 해결책은 여기 나와 았다. 쉽게 말해서 윈도의 자격 증명을 가져오는 방식이다. 따라서 윈도에 깃과 깃허브에 관한 설정이 이미 완료되어 있어야 한다.

$ git config --global credential.helper "/mnt/c/Program\ Files/Git/mingw64/libexec/git-core/git-credential-manager-core.exe"