Stable Diffusionのリポジトリを自分のGitHub上でPrivate運用する方法
Stable DiffusionはExtensionを導入した拍子に環境が壊れてしまう事がよくある。forkしたリポジトリのVisibilityはGitHubの仕様上変更できないため、Privateリポジトリにしたい場合は、以下の手順を行う必要がある。forkする理由はその時点でのリポジトリの状態を「スナップショット」的に切り出せる事である。Kohya_ssなど他のものでも同じようにできる。
- 対象のリポジトリをforkする
fork対象のページで実施する。
- リポジトリの複製 (Clone)
- まず、ローカルにリポジトリをクローンする。Terminal(またはGit Bash)を開き、次のコマンドを実行する。
git clone https://github.com/<あなたのGitHubアカウント>/.git
- Security周りの理由でhttps接続がダメな場合、ssh接続でコマンド実行すること。(git@github.com:<あなたのGitHubアカウント>/
.git)
- 新しいPrivateリポジトリの作成
- GitHub上で新しいリポジトリを作成。この時、リポジトリをPrivateに設定する。
- ローカルリポジトリのリモートURLを変更
- クローンしたローカルリポジトリのリモートURLを、作成した新しいPrivateリポジトリに変更する。次のコマンドを実行する。
cd
git remote set-url origin https://github.com/<あなたのGitHubアカウント>/<新しいPrivateリポジトリ>.git
- ここでもSecurity周りの理由でhttps接続がダメな場合、ssh接続でコマンド実行すること。(git@github.com:<あなたのGitHubアカウント>/<新しいPrivateリポジトリ>.git)
- リポジトリをプッシュ
- 新しいPrivateリポジトリにすべてのブランチとタグをプッシュする。
git push -u origin --all
git push -u origin --tags
この手順を行うことで、元のリポジトリと同じ内容を持つPrivateリポジトリを作成することができる。以後の開発作業は、このPrivateリポジトリで行うことができる。元のリポジトリの更新を取り込みたい場合は、元のリポジトリのURLを追加し、git pull
やgit fetch
で更新を取得した後、Privateリポジトリにマージすることが可能だ。
チーム内でPrivateリポジトリをベースにすれば環境を統一して作業を進められる。便利な方法だと思っている。何らかの公開する価値のある、良い改造が達成できた時点でPull Requestを上げることもできる。