2.4. リポジトリー管理機能¶
リポジトリー管理機能とは、Gitサーバーと連携し、ノートブックやファイルをリポジトリー上で管理する機能です。
Jupyterの画面上から、以下の機能が利用できます。
- Gitサーバーにあるリポジトリーをホームディレクトリー以下(ユーザー環境)にクローンし、Gitサーバー上にあるファイルを取得する
- GitサーバーからJupyter環境にリポジトリーをプルし、ユーザー環境のリポジトリーに変更を反映する
- ユーザー環境からGitサーバー上にリポジトリーをプッシュし、ユーザーが行ったファイルの変更をGitサーバーのリポジトリーに反映する
- ユーザー環境のリポジトリーを削除する
また、Gitサーバーの機能を利用して、リポジトリーのアクセス権制御などを行うこともできます。
2.4.1. リポジトリーをクローンする¶
(1)ダッシュボード画面から、ツールバー右側にあるAdd repositoryボタンをクリックします。
(2)Add repositoryダイアログにGitサーバーのリポジトリーのURLを入力します。
URLのプロトコルがhttpまたはhttpsの場合、サーバー接続用のユーザー名とパスワードを入力してください。
ssh接続する場合はユーザー名やパスワードの入力は不要ですが、事前に リポジトリー管理機能でGitサーバーにssh接続する の手順に従いsshの設定をしてください。
注釈
Jupyterのログインユーザー名とパスワードではなく、Gitサーバーのユーザー名とパスワードを入力してください。
(3)Addボタンを押すと、Gitサーバーにあるリポジトリーをユーザー環境にクローンし、作業ディレクトリーを作成します。
クローンに失敗した場合、Add repositoryダイアログにエラーメッセージを表示します。
エラーメッセージが表示された場合は、OKボタンを押してダイアログを閉じます。 接続情報に誤りがあった場合、再度Add repositoryダイアログを開いて正しい情報を入力してください。
2.4.2. リポジトリーをプルする¶
(1)ダッシュボード画面から、作業ディレクトリー内に移動し、ツールバー右側にあるPullボタンをクリックします。
(2)Pullダイアログを表示します。
Pullダイアログでは以下の2種類のプル操作を使用できます。
- Pull
git pullコマンドを実行します。 作業ディレクトリー上に、Gitサーバーのリポジトリーに反映していない変更がある場合、エラーが発生します。
このとき、エラーログがダイアログに出力されます。エラーログにはエラーになったファイル名が表示されます。 表示されたファイルの差分を解消するか、ファイルを削除またはリネームしたうえでプルし直してください。
- Pull Force
git pullコマンドを実行します。 作業ディレクトリー上に、Gitサーバーのリポジトリーに反映していない変更がある場合、作業ディレクトリーにあるファイルはGitサーバー上の内容に強制的に上書きされます。
2.4.3. リポジトリーをプッシュする¶
(1)ダッシュボード画面から、作業ディレクトリー内に移動し、ツールバー右側にあるPushボタンをクリックします。
(2)Pushダイアログを表示します。
Pushボタンを押すと、Gitサーバーのリポジトリーのmasterブランチに作業ディレクトリーの変更内容をプッシュします。 このとき、コミット時のメッセージは"uploaded-by-(ユーザー名)"という固定のメッセージになります。
2.4.4. リポジトリーを削除する¶
(1)ダッシュボード画面から、作業ディレクトリー内に移動し、ツールバー右側にあるDelete repositoryボタンをクリックします。
(2)Delete repositoryダイアログが表示されます。
「作業ディレクトリも削除する」というチェックボックスをチェックせずにOKボタンを押した場合、 作業ディレクトリーのファイルを残したまま、gitのリポジトリーディレクトリー(.git)のみが削除され、PullやPushができなくなります。
「作業ディレクトリも削除する」をチェックしOKボタンを押した場合、以下の画像のように作業ディレクトリーそのものが削除されます。
この場合、ダッシュボード画面には何も表示されないため、Jupyterロゴや アイコンをクリックし、上位ディレクトリーに移動してください。
2.4.5. Gitサーバーの機能を利用する¶
以下の機能は、Gitサーバーの機能を利用します。詳細は、Gitサーバーのドキュメント(GitLabの公式ドキュメント、GitBucketの公式ドキュメント)を参照してください。
- Gitサーバー上のリポジトリーを管理する
- Gitユーザーやグループを管理する
- リポジトリーにアクセスできるユーザーを限定する