Google Colaboratory(Colab)で指定フォルダをGitHub連携させる方法は3つありそうです。
- Gitコマンドを使った連携
- Private tokenを発行した連携
- GitコマンドとSSHを使った連携
- APIを使用した連携
1, 2はうまく実行できています。
1.Gitコマンドを使った連携
このColabにコードは載っているのでコピーして活用ください。
https://colab.research.google.com/drive/1hAKJOrjdw09uf_i-zAdUgEj38fvj6ibk
このコードの中
- user_name
- passwprd
- repo
を変更したら動きます。
ただ、パスワードが見れる状態になってしまうので、
SSHで指定したいなと思っています。
この動画を参考にさせていただきました。
https://www.youtube.com/watch?v=zPx-nZF7890
cloneから実施する場合はこれでいけます。
# ドライブをマウント
from google.colab import drive
drive.mount('/gdrive')
# ディレクトリの変更
%cd /gdrive/MyDrive/{フォルダ名}
!git clone https://{user_name}:{password}@github.com/{user_name}/{repo}.git
2.Private tokenを発行した連携
こちらの記事を参考に実行できました。
https://qiita.com/shikumiya_hata/items/fa89126e13c57a997d59
tokenを発行してgit_token
を発行したtokenに変更したら実行できました。
!git clone https://git_token@github.com/username/repository.git
private tokenの発行方法はこちら
https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token
実行後はcontentは以下にレポジトリが作成されているので、
下記でディレクトリを変更してimportしていきます。
%cd /content/repository
from モジュール名 import クラス名 or 関数名
3.GitコマンドとSSGを使った連携
わかりやすくまとめていただいている記事があったのですが、
動かず断念しました。
https://qiita.com/SeeLog/items/100e64e2decd0c0efb7d
4.APIを使用した連携
これはフォルダごとGitHubに連携できるのかはまだ分かっていないです。
まだ試していないですが、この記事とかを参考にコードを変えたら、
フォルダ毎GitHubにあげられないかなと思っています。
https://qiita.com/calderarie/items/fc867e67232daea01983
備考
指定フォルダではなくて、今開いているファイルのみGitHubへ上げる場合は
ファイルのGitHubにコピーを保存
で可能です。
GitHubのprivateのレポジトリを指定したい場合は、
下記のURLからGitHub
> 非公開レポジトリを含める
にチェックをつける必要があります。