[colab] 깃허브 private 저장소에 푸시하기

skyepodium·2021년 5월 16일
2
post-thumbnail

git의 커맨드라인 명령어를 사용해서 private 저장소에 푸시합시다.

1. 왜 private 저장소?

누구에게나 공개된 public 저장소에 자료를 저장한다면, colaba에서 제공하는 github 사본 저장기능이 더욱 간편합니다.

하지만...

kaggle, dacon과 같은 경쟁 대회에 참가하면서 모두가 볼 수 있도록 코드를 공개하고 싶지는 않아요...

2. colab에서 다운받아서 로컬에서 저장하고 깃허브 푸시하면 되는거 아님?

그렇게 해도 되기는 하는데,

1) 비효율성

말 그대로 다운받고, 푸시하는게 비효율적이고

2) 버전관리 안됨

실수로 다른 파일 다운받아서, 함께 푸시되는 경우가 있습니다.

자 소개는 끝났고 직접 해봅시다.

3. 전략

구글 드라이브에서 다음과 같이 폴더 구조를 만듭니다.

그리고, git.ipynb 파일에서 커맨드 라인 명령어를 통해 private 저장소에 푸시합니다.

(kaggle의 titanic 문제로 예시를 진행하기 때문에 전체 루트 폴더의 이름을 titanic으로 정했습니다.)

4. 고고 해봅시다.

1) 로컬에 폴더 생성

자신의 컴퓨터에 titanic이라는 폴더를 만들고 다음 4개를 만들어줍니다.
1. file
2. data
3. submit
4. .gitignore

2) .gitignore 작성

.gitignore의 내용을 다음과 같이 작성해줍니다.

# .gitignore 파일은 커밋하지 않을 폴더를 설정합니다.

# 1. data
# 데이터 파일이 들어가는 data 폴더는 푸시하지 않습니다.
# 너무 데이터가 크면 푸시되지 않습니다.
/data

# 2. submit
# 제출파일이 들어가는 submit 폴더는 저는 푸시하지 않습니다.
# 용량이 작으면 하셔도 무방합니다.
/submit

# 3. git.ipynb
# 커맨드라인을 사용하기 위한 파일은 푸시하지 않습니다.
git.ipynb

3) 데이터 받기

kaggle 타이타닉 문제로 가서 데이터를 data 폴더에 받고 압축을 해제하고 디렉토리를 하나 위로 올려서 다음과 같이 만들었습니다.

4) 구글 드라이브

titanic 폴더(루트 폴더)를 구글 드라이브에 업로드해줍니다.

다음과 같이 잘 올라왔습니다.
(.DS_Store 파일은 Mac 전용 자동 생성파일이기 때문에 신경안쓰셔도 괜찮습니다.)

5) 깃허브 private 저장소

private 버튼을 꼭 누르고 저장소를 만들어줍니다.

6) git.ipynb

폴더에서 오른쪽 버튼 더보기 구글 코랩을 누르면 colab으로 연동됩니다.

파일 이름을 git.ipynb로 바꿔주고 저장 꼭 해주세요!!!!

  1. 구글 드라이브 마운트
from google.colab import drive
drive.mount('/content/gdrive')
  1. titanic 폴더로 이동해줍니다.
%cd gdrive/MyDrive/titanic 

현재 경로 및 데이터를 확인해줍니다.

!pwd && ls -al
  1. 깃 초기화 - 처음 1번만 진행합니다.
!git init
  1. 깃허브 프로파일 설정 - 처음 1번만 진행합니다.
    꼭 개인의 1) 이메일, 2) 유저이름으로 설정해주세요.
!git config --global user.email "skyepodium@gmail.com"
!git config --global user.name "skyepodium"
  1. private 저장소 연동
!git remote add origin https://skyepodium:[깃허브 비밀번호]@github.com/skyepodium/titanic_private.git
  1. 커밋 & 푸시
!git add .
!git commit -m "private 저장소 첫번째 커밋"
!git push origin master
  1. 확인

  2. file 디렉토리에 임시 파일 1개 만들고

  3. 다시 푸시

  4. 다시 확인
    잘 들어왔습니다!!!

5. 여담

이렇게 푸시하는 방법이 꺼림찍하다면, ssh 를 이용하는 방법이 있습니다.

!git remote add origin https://[깃허브 유저이름]:[깃허브 비밀번호]@github.com/[깃허브 유저이름]/[깃허브 private 저장소 이름].git
profile
callmeskye

0개의 댓글