Colab과 GitHub 연동하기.
이번 글은, recoder 님의 글을 보고 배워 적용 한 뒤 저의 글로 소화하여 작성하였음을 미리 밝힙니다.
준비물
- 본인의 Github 주소
- Colab을 실행 할 본인의 Google Drive 아이디.
1. 연동하고 싶은 Github Repository 생성하기
본인의 Github에 보면, 탭이 보일 텐데, 이 중 "Repositories" 를 누릅니다.
그럼 오른쪽 상단 즈음에 "New"라고 적힌 초록색 버튼을 누릅니다.
그러면 아래 창이 뜰 텐데, 생성하고 싶은 폴더의 이름을 적고, 공개 글로할지, 비공개글로 할지 정한 후, 가급적이면 "Add a README file"에 체크를 해 준 후 "Create repository"를 눌러 생성 합니다.
Repository name
: 생성하고싶은 폴더명(혹은 프로젝트명)Description
: 해당 Repositoy 메인페이지에 설명글을 작성할 수 있습니다.Public
: 해당 Repository를 공개적으로 설정Private
: 해당 Repository를 비공개적으로 설정(개인적/팀 프로젝트일 경우)Add a README file
: Repository 에 대한 설명글을 메인 페이지에 보여줄 수 있습니다.Add a .gitignore
: 필요하지 않은 파일을 업로드에서 제외할 수 있습니다.
2. Repository 접근을 위한 Access Token 생성하기
아래 과정을 따라옵니다.
-
오른쪽 상단의
Setting
-
왼쪽 메뉴들 중 가장 아래에 있는 "
Developer settings
"
-
왼쪽 메뉴들 중 "
Personal access tokens
"
-
오른쪽 상단에 "
Generate new token
"
-
단순 비밀번호 확인
-
아래와 똑같이 체크해준 후 토큰 생성
❗️[주의!] 본인의 토큰은 개인적이므로 주의해서 보관하고 노출되지 않도록 합니다.
3. Google Drive 에서 commit용 colab 생성
- 저의 경우에는 다른 폴더들과 전혀 곂치지 않는 commit용 폴더를 생성하여 보관중 입니다.
연동할 colab 폴더는 아래에서 생성 되오니, 위의 commit용 colab은 따로 생성하시는 것을 권장드립니다. (Token 관련 보안을 이유로)
연동할 colab 폴더는 아래에서 생성 되오니, 위의 commit용 colab은 따로 생성하시는 것을 권장드립니다. (Token 관련 보안을 이유로)
그럼에도 불구하고, 똑같이 생성하실 분은, 위 Recoder 님의 블로그 에서 언급 된, gitignore 파일 만드는 법 을 참고해 주시면 됩니다.
Commit용 colab에서 다음과 같이 작성하겠습니다.
3-1. Google drive mout하기
- 코랩을 본인의 Google drive에 접근하게 하기 위한 코드입니다.
from google.colab import drive
drive.mount('/content/drive')
3-2. 연동 시키고 싶은 폴더 생성하기
- 저는 Commit_Test_Folder 라는 이름의 폴더를 생성하였습니다.
3-3. Colab에서 코드를 이용하여 원하는 위치로 이동하기.
- 본인이 연동시키고 싶은 폴더 명으로 이동하시면 됩니다.
본인이 원하는 google drive의 위치 확인 방법
- colab 왼쪽의 폴더 모양을 눌러주시면
폴더들이 나오는데, drive/MyDrive에 들어가면, 본인이 생성하신 폴더들이 나오는데, 그 중 원하는 폴더에 오른쪽 클릭을 하시면
경로 복사가 있습니다. 이를 아래에 코드와 함께 붙여 넣으시면 됩니다.
cd /content/drive/MyDrive/파이썬으로_데이터_주무르기
3-4. Git clone 하기
우선 Colab에서 작성해야 할 코드는 아래와 같습니다.
!git clone https://(username):(access token)@github.com/(username)/(repository name).git
username
: 본인의 github 아이디를 적으시면 됩니다.access token
: 위에 2번 스텝에서 생성하신 토큰을 붙여넣으시면 됩니다.repository name
: 위의 1번 스텝에서 생성하신 Repository 폴더 명을 적으시면 됩니다.
아래와 같이 나오면 1차 성공입니다.
Cloning into 'Test_Repo'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), done.
3-5. 접근 권한 갖기
여기까지 성공하셨다면, Google Colab에 본인의 GitHub 폴더가 생성되었을겁니다!
아직 기뻐하기는 이릅니다.
다시 Colab으로 돌아가 우선 저 파일로 들어가 줍니다.
cd Test_Repo
결과 값이
/content/drive/MyDrive/Commit_Test_Folder/Test_Repo
와 같이, 원하는 폴더에 있어야 합니다.
다음 Git관련 정보를 적어줍니다.
!git config --global user.email '(user email)'
!git config --global user.name '(user name)'
본인의 이메일과 아이디를 각각 적으시면 됩니다 (괄호 미포함)
4. 아무 파일 add 해보기
자, 이제 드디어 모든 준비가 끝났습니다.
여러가지 방법이 있겠지만, 구글에서 코랩파일을 하나 생성하여 commit 해 보겠습니다.
아까 원하신다는 폴더 내에 colab파일을 하나 생성해 봅시다.
자 이제 들어가서, 아무 코드나 작성 하고 save를 눌러 저장합니다.
다시 아까 3번의 Commit 코드로 들어가 줍니다.
위의 3번까지의 과정은 단 한번만 하면 되고, 앞으로 Colab 파일을 꾸준히 commit 하시려면 아래의 코드들만 돌리시면 Commit이 완료 됩니다.
- Google Drive 접근
from google.colab import drive
drive.mount('/content/drive')
- Commit을 원하는 폴더로 이동
cd /content/drive/MyDrive/Commit_Test_Folder/Test_Repo
- 본인임을 확인
!git config --global user.email '(user email)'
!git config --global user.name '(user name)'
- 폴더 add
!git add Test_code.ipynb
- 여기서, 원하는 폴더만 commit 하고싶은 경우, 위 작성 처럼
add (원하는폴더명)
하시면 됩니다. - 하지만 폴더 내에 모든 파일을 commit하고싶은 경우,
add --all
이라고 작성하면 됩니다.하지만 -all의 경우에는 위에 주의 하였듯, 공개되면 안되는 파일이 있을 경우, gitignore을 반드시 하시기를 바랍니다.
- commit 하기 !
!git commit -m '원하는 아무 메시지'
!git push
아래와 같이 나오면 성공입니다!
[main 6a2738b] test
1 file changed, 1 insertion(+)
create mode 100644 Test_code.ipynb
Counting objects: 3, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 849 bytes | 212.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To https://github.com/shong676/Test_Repo.git
344562f..6a2738b main -> main
만약 실패하신 경우, 폴더의 위치나, 코랩에서
pwd
를 쳐 보신 후 현재 경로를 다시 확인하시거나, colab 세션을 껐다가 다시 켠 후 위 과정을 반복해 보시기를 바랍니다.
5. 잘 Commit 되었는지 확인.
제 깃허브에 훌륭하게 들어왔습니다!
내용에도 문제가 없군요 !
혹시 작성하신 것과 내용이 다른경우, colab파일을 저장 하신 후 다시 commit해 보시기를 바랍니다.
그럼 이제 번거롭게 GitHub에 업로드 할 필요 없이! 계속해서 업데이트를 할 수 있게 되었습니다!
잔디를 열심히 심어 봅시다!
Author And Source
이 문제에 관하여(Colab과 GitHub 연동하기.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@shong676/Colab과-GitHub-연동하기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)