GitHub同期とエクスポート:Mythexのコードはあなたのもの
Mythexで作ったコードはあなたのものであり、持ち出すこともできます。Proプランでは、プロジェクトをGitHubのリポジトリに同期したり、プロジェクト全体を.tar.gzアーカイブとしてダウンロードしたり、アーカイブをプロジェクトに取り込み直したりできます。エクスポートにはシークレットが含まれないので、アーカイブは安心して移動できます。
何ができるのか
Mythexでは、プロジェクトとの間でコードを出し入れする方法が3つあります。
- GitHub同期:リポジトリをリンクして、プロジェクトとの間でプッシュやプルができます。
- エクスポート:プロジェクト設定から、プロジェクトを
.tar.gzアーカイブとしてダウンロードします。 - インポート:
.tar.gz、.tgz、.zipのいずれかの内容で、プロジェクトのファイルを置き換えます。
GitHubを使ったことがない場合は、GitHubとは何かで基本を説明しています。GitHubは、多くの開発者がコードを保管し、変更を追跡し、互いの作業をレビューする場所です。
なぜ大切なのか
コードを人質に取るようなアプリビルダーは危険です。乗り換えたくなったとき、開発者に依頼したいとき、自分のマシンにもコピーを置いておきたいとき、すべてを持って立ち去れるべきです。
Mythexのデータの所有権のページには、はっきり書かれています。プロジェクトで作ったものはすべてあなたのものです。Mythexで作り続けることも、エクスポートすることも、GitHubに同期することもできます。エンジニアリングチームが引き継ぐときにも、GitHub同期は自然な受け渡し点になります。チームは、プロジェクト全体が入った通常のリポジトリを受け取れます。
GitHub同期の使い方
- Mythexにログインした状態で、設定からGitHubに接続します。これはGitHubのOAuthサインインを使います。
- プロジェクトにリポジトリをリンクします。
- そのリポジトリに対して、プロジェクトからプッシュまたはプルします。
GitHubとの接続はリポジトリの同期のためだけのものです。Mythexへのサインイン方法ではありません。サインインは、引き続きメールアドレスかGoogleで行います。
ドキュメントからのヒントです。自分のリモートに対して強制プッシュのような操作を行う前には、きれいなチェックポイントを作っておきましょう。安全に戻れる場所を確保できます。
エクスポートの使い方
- プロジェクト設定 → Exportを開きます。
- プロジェクトを
.tar.gzアーカイブとしてダウンロードします。
シークレットとnode_modules(インストール済みのパッケージ。再構築できます)は除外されます。そのため、アーカイブは安心して共有したり、環境間で移動したりできます。別の場所でアプリを動かす場合は、シークレットをそこで改めて追加する必要があります。アプリを書き出して自分でホストする手順は、AIで作ったアプリをエクスポートして自己ホストする方法で説明しています。
インポートの使い方
インポートでは、アーカイブを現在のプロジェクトに取り込みます。ダッシュボードには「アーカイブからプロジェクトを作成する」という別の流れはないので、空のプロジェクトが必要なら、先にプロジェクトを作成してください。
- プロジェクト設定 → Exportを開きます。
- Import into this projectを選びます。
.tar.gz、.tgz、.zipのいずれかのファイルを選びます。
実行されることは次のとおりです。
- プロジェクトのファイルは、アーカイブの内容で置き換えられます。
- プロジェクトの既存のシークレットは残ります。
- アーカイブに含まれる
.envファイルは取り除かれます。その値は設定から再度追加してください。
インポートは、バックアップを復元するときや、既存のコードベースを空のプロジェクトに持ち込むときに役立ちます。
Mythexが引き続きホストするもの
エクスポートはコピーを渡すだけで、Mythexから何かを移すわけではありません。プロジェクトが存在する間、Mythexは次のものをホストします。
- プロジェクトのファイル(あなた専用のサンドボックス内)
- データベースとファイルストレージ(有効にしている場合)
- 公開済みのアプリ(公開を取り下げるか、プロジェクトを削除するまで)
プロジェクトやアカウントを削除すると、Mythexのホスティングからアプリが削除されます。ローカルにコピーを残したい場合は、先にエクスポートしてください。
シークレットとGit
プロジェクトのシークレットにあるAPIキーは、アプリが実行されるときのためのものです。Gitにコミットしないでください。エクスポートではシークレットは既に除外されており、インポートでは.envファイルが取り除かれるので、初期設定でも守られます。ただし、手作業でリポジトリにファイルを追加する場合は、キーを含めないようにしてください。環境変数とシークレットが何であり、なぜ重要かは、環境変数とシークレットとはで説明しています。
制限
- エクスポートとGitHub同期はProの機能です。 Freeでは、コードを読み取り専用で閲覧し、プレビューとターミナルを使えます。ダウンロードや同期にはアップグレードが必要です。
- インポートはファイルを置き換えます。 マージはしません。現在のバージョンが必要になるかもしれない場合は、先にエクスポートしてください。
- エクスポートにはシークレットと
node_modulesが含まれません。 別の場所では、キーを再度追加し、パッケージを再インストールする必要があります。