Fire App Builderをフォーク・クローンしてリモートを追加する方法
GitHubからのファイルのダウンロードは簡単ですが、Gitリポジトリを適切にセットアップして、アップデートが利用可能になったときに、Fire App Builderリポジトリからアップデートを取得するにはどうすればよいでしょうか。この場合は、リポジトリをフォークおよびクローンし、Fire App Builderリポジトリを取得元のリモートとして追加する必要があります。
Fire App Builderをフォーク・クローンしてからリモートとして追加する方法
- Windowsでは、Fire App Builderリポジトリをクローンする前に、git構成でシンボリックリンクが
true
に設定されていることを確認します。gitのシンボリックリンクをtrue
に設定せずにリポジトリをクローンすると、Fire App Builderがビルドされなくなります。 シンボリックリンクを有効にするには、次の手順を実行します。- コンピューターで、管理者権限があるかどうかを確認します([スタート] > [コントロールパネル] > [ユーザーアカウント] > [ユーザーアカウントの管理])。管理者権限がなくても問題はありません。後でスクリプトを実行して問題を修正できます。
-
管理者権限がある場合は、コマンドラインターミナルを管理者として開き、次のコマンドを実行して、シンボリックリンクを許可するようにgitを構成します。
git config --global core.symlinks true
このコマンドを実行すると、git構成でシンボリックリンクが有効になります。Linuxのシンボリックリンクはすべて、gitのクローン中にWindowsのシンボリックリンクに変換されます。
- https://github.com/amzn/fire-app-builder(英語のみ)にアクセスします。
- 右上隅にある [Fork] をクリックし、必要に応じて、リポジトリのフォーク先のGitHubアカウントを選択します。リポジトリをフォークすると、そのリポジトリのコピーが自分のGitHubアカウントに作成されます。フォークされたリポジトリのパスは
github.com/<githubユーザー名>/fire-app-builder
になります。 - [Clone or Download] をクリックし、クローンURLをコピーします。
- コマンドラインを開き、プロジェクトに使用するディレクトリに移動します。
-
git clone
コマンドを使用してプロジェクトをクローンします。<githubユーザー名>
は、リポジトリをフォークした実際のユーザー名に置き換えてください。git clone https://github.com/<githubユーザー名>/fire-app-builder.git
gitがfire-app-builderという名前のディレクトリで初期化され、Fire App Builderのプロジェクトがダウンロードされます。
- Windowsユーザー: 既に説明したように、
git config --global core.symlinks true
を実行するための管理者権限がない場合は、管理者権限なしでWindows用のシンボリックリンクを構成する方法を参照して、ダウンロードしたファイルのシンボリックリンクが変換されるようにしてください。 -
フォークされたリポジトリにFire App Builderリポジトリを「リモート」として追加すると、今後のアップデートをプルできるようになります。コマンドラインから、
cd
を使用して新しいfire-app-builder
ディレクトリに移動し、次のコマンドを入力します。git remote add amzn-fab https://github.com/amzn/fire-app-builder.git
これにより、「amzn-fab」という名前のリモートがリポジトリに追加されます(リモートには自由に名前を付けることができます)。
-
Amazonのリモートから、マスターブランチを指定してプルします。
git pull amzn-fab master
プルできる新しい変更がない場合、レスポンスは次のようになります。
From https://github.com/amzn/fire-app-builder * branch master -> FETCH_HEAD Already up-to-date.
変更がある場合は、変更されたファイルの一覧がレスポンスに表示されます。amazon/fire-app-builderのファイルと同じ名前のファイルを自分のリポジトリでカスタマイズしている場合は、マージの競合が発生します(たとえば、navigator.jsonファイルを変更している場合は、このファイルで競合が発生します)。
マージの競合を解決するには、Gitの標準のプラクティスに従います。コマンドラインを使用してマージコンフリクトを解決するを参照してください。
元のリポジトリのファイルに加えられた変更とローカルコピーに加えた変更が競合しても、gitでは、ローカルコピーが自動的に更新データで上書きされることはありません。代わりに、gitは、影響を受けるファイルについてマージの競合を表示し、それらのファイルをトラッキングから削除します。この場合、マージの競合を解決し、ファイルをgitトラッキングに戻して、更新をコミットする必要があります。
マージの競合が発生したときは、
git status
を実行して、問題のあるファイルの一覧を表示します。各ファイルを開き、競合する領域を示すキャレットを検索します。ファイルを手動で編集してキャレットを削除し、保持する変更を残して、破棄する変更を削除します。git add .
を実行して、ファイルをgitトラッキングに戻します。競合の解決が完了したら、アプリをビルドしてすべてが問題なく動作することを確認します。次に、自分のGitHubリポジトリに変更をプッシュします。
アップデートの取得
AmazonがFire App Builderにアップデートをプッシュした場合は、それらのアップデートを自分のリポジトリにプルできます。これを行うには、既存の自分のGitHubリポジトリにリモートを追加します。リモートを追加するには、次の手順を実行します。
Gitに関するリソース
gitの使用時に役立つリソースを紹介します。
- gitのドキュメント(英語のみ)
- git - 簡単ガイド
- Atlassianによるgitチュートリアル(英語のみ)