Google Colab에서 GitHub에서 Clone하여 변경 사항을 푸시 할 때까지 요약

2971 단어 colaboratoryGitHubGit

무슨 기사?



Google Colaboratory에서 GitHub 리포지토리를 clone하고 변경사항을 푸시하기 전의 메모입니다. 특히 바뀐 곳은 없습니다.
덧붙여서 Colab에서는 노드북에 관해서는 명령을 치지 않고 push까지 할 수 있는 편리한 기능이 있습니다.
참고 기사 : Colabratory는 화면에서만 GitHub에 Push하고 차분까지 볼 수 있다는 것을 알고 있었다?

애초에 Colab에서 Github으로 push해야합니까?



환경 난민에게는 상당히 일어날 수 있습니다.
그리고, 일일이 로컬 환경에서 clone 하는 것도 없지만, 기존 코드를 fork 해 조금 revise 해 시험해 버젼 관리하고 싶을 때 등.

절차



흐름으로서는 Drive 마운트→clone→config→add→commit→origin 설정→push입니다.
마운트는 최초의 1회만으로 OK.
config와 origin 설정은 세션 중에 한 번만으로 OK.

1. Google Drive 마운트



아시다시피 Colab은 인스턴스 12시간 규칙 & 90분 규칙이 있으므로 작업 디렉토리의 내용이 일정 시간에 사라집니다.
당연히 .git 등도 저장되지 않고, 이것으로는 코드 관리도 할 수 없으므로 우선 Google Drive를 마운트합니다.
UI에서 왼쪽의 파일 버튼을 누르고 "드라이브 마운트"로 마운트할 수 있습니다.

이제 Google 드라이브의 파일을 노트북에서 처리하고 저장할 수 있습니다.

2. Clone



Google Drive에 ColabData 와 같은 작업 디렉토리를 만듭니다 (만들지 않아도 됩니다).
현재 디렉토리를 이동하고 clone합니다.
%cd /content/drive/My Drive/Colabdata/
!git clone https://github.com/reponame.git

3. Config(사용자 이름 및 이메일 주소 설정)



이것을 설정하지 않으면 commit에서 화가납니다.
!git config --global user.email "[email protected]"
!git config --global user.name "username"

4. Add, Commit



특히 바뀐 곳은 없습니다.
!git add file.py
!git commit -m "Added new file."

5. 리포지토리 정보를 명시적으로 기술해 Origin 를 설정



여기가 약간의 빠져 포인트입니다.
git clone 한 시점에서 리모트 서버에 origin이 디폴트로 설정됩니다만, 여기에 push해도 아래와 같이 분노됩니다.
!git push origin master
# fatal: could not read Username for 'https://github.com': No such device or address

Colab에서는 아래와 같이 명시적으로 origin에 자격 증명(사용자 이름, 비밀번호)을 전달하여 설정해야 합니다.
!git remote set-url origin https://username:[email protected]/reponame.git
!git push origin master

무사 push가 지나면 성공입니다. 편안한 Colab 생활을 보내주십시오.

요약



Colab에서 git clone에서 push까지의 흐름을 요약했습니다.
아래에 일련의 명령을 정리합니다.
%cd /content/drive/My Drive/Colabdata/
!git clone https://github.com/reponame.git
!git config --global user.email "[email protected]"
!git config --global user.name "username"
!git add file.py
!git commit -m "Added new file."
!git remote set-url origin https://username:[email protected]/reponame.git
!git push origin master

이상입니다.

좋은 웹페이지 즐겨찾기