はじめに
GitHub は、リポジトリでファイルをホストし、作業で共同作業を行い、時間の経過に伴うファイルの変更を追跡できる Web ベースのアプリです。 GitHub のバージョン追跡は、オープンソース ソフトウェア Git を利用しています。 GitHub のリポジトリを更新するたびに、Git は行った変更を追跡します。
GitHub を操作する方法は多数あり、経験レベル、個人の好み、操作するリポジトリに適した方法を選択できます。 たとえば、ブラウザーまたはデスクトップのどちらで作業するかを決め、Git の使用方法、エディターやその他のソフトウェアから必要な機能を選択できます。 さまざまな方法で異なるリポジトリを操作することもできます。
GitHub を初めて使用する場合は、GitHub.com にはブラウザーで変更を加えるのが適切な方法です。 GitHub に慣れ、より大きな変更の投稿を開始する場合は、他のツールを使い始めることも検討しましょう。 この記事では、これらのステージを進める方法について説明し、各ステージで要件に最適なツールを選択する方法の参考情報を示します。 GitHub を操作するために使用できるすべてのツールをすばやく比較するには、「GitHub に接続するためのツールの比較」を参照してください。
概要
GitHub.com のユーザー インターフェイスでは、ブランチまたはフォークの作成、ファイルの編集とプレビュー、変更のコミット、pull request の作成など、リポジトリに投稿するための「GitHub フロー」全体を実行できます。 コンピューターからファイルをアップロードしたり、リポジトリからダウンロードしたりすることもできます。 詳しくは、「GitHub フロー」をご覧ください。
多くの場合、次の理由から、GitHub.com に対して直接作業すると、リポジトリに最も迅速に投稿できます。
- GitHub でホストされているリポジトリを直接操作しているため、リポジトリのコピーをコンピューターにダウンロードして、このコピーの同期を維持する必要はありません。
- GitHub に既にサインインしている場合は、必要なアクセス許可があるリポジトリにアクセスできるため、コンピューターで追加の認証を設定する必要はありません。
- ユーザー インターフェイスで変更をコミットできるため、コマンド ラインを使用したり、Git コマンドを覚えておいたりする必要はありません。
ブラウザーでの変更を初めて行う際に役立つチュートリアルについては、「Hello World」を参照してください。
ブラウザーでより複雑な変更を行う
GitHub.com に対して直接作業することは、小規模で単純な変更 (多くの場合、リポジトリ内の 1 つのファイルを対象とする) に最適です。 ブラウザーで作業するが、ファイル間でのコンテンツの移動など、より複雑な変更を行う必要がある場合は、次のツールから選択して、専用エディターでリポジトリを開くことができます。
- ファイルをすばやく開いたり作成したりできるエディターが必要な場合は、任意のリポジトリで
.
キーを押して、github.dev エディターを開くことができます。 これは、Git コマンドの検索バーやボタンなど、Visual Studio Code の機能の多くを含む軽量の Web ベースのエディターです。 詳しくは、「github.dev Web ベース エディター」をご覧ください。 - 引き続きブラウザーを使用して、コマンドの実行、プロジェクトのテスト ビルドの作成、依存関係のインストールなどを行う必要がある場合は、codespace でリポジトリを開くことができます。 codespace は、ストレージとコンピューティング能力を備えたリモート開発環境です。 エディターと統合ターミナルが含まれており、Git を含むプロジェクトを操作するために必要な一般的なツールがプレインストールされています。 詳しくは、「GitHub Codespaces の概要」をご覧ください。
または、デスクトップから GitHub に接続し、リポジトリのローカル コピーを操作することもできます。
デスクトップからの作業
デスクトップからリポジトリを操作するには、リポジトリのコピーをコンピューターにダウンロード (または「複製」) してから、行った変更を GitHub にプッシュする必要があります。 デスクトップからの作業には、ブラウザーでの作業と比較して、いくつかの利点があります。
- すべてのローカル ファイルとツールを操作できます。
- コンピューティング能力にアクセスできます。 たとえば、行っている変更をテストできるように、サイトのローカル プレビューを作成するためにスクリプトを実行する必要がある場合があります。
- プロジェクトで作業するためにインターネット接続は必要ありません。
以前にデスクトップから GitHub リポジトリを操作したことがない場合は、コンピューターから GitHub に対して認証を行い、必要なリポジトリにアクセスできるようにする必要があります。 また、Git、エディター、プロジェクトの依存関係など、投稿に必要なツールを使用して作業環境を設定する必要がある場合もあります。 これらの理由から、ブラウザーでの作業と比較して、デスクトップから作業する場合は、作業を開始するのに時間がかかる場合があります。
デスクトップから GitHub に接続するために使用できるツールがいくつかあります。 これらのツールを使用すると、GitHub に対する認証、リポジトリの複製、変更の追跡、変更の GitHub へのプッシュなどを行えます。
- 高度な制御と柔軟性が必要な場合は、コマンド ラインを使用できます。 Git をインストールし、いくつかの基本的な Git コマンドを理解する必要があります。 また、GitHub CLI をインストールすることもできます。これは、pull request の作成やリポジトリのフォークなど、GitHub に対して多くのアクションを実行できるコマンドライン インターフェイスです。 詳細については、「Git のセットアップ」および「GitHub CLI について」を参照してください。
- ビジュアル インターフェイスを使用する場合は、GitHub Desktop などのビジュアル Git クライアントを使用できます。 GitHub Desktop を使用すると、行っている変更を視覚化し、ビジュアル インターフェイスを使用してほとんどの Git コマンドにアクセスできるため、コマンドを記憶する必要はありません。 詳しくは、「GitHub Desktop について」をご覧ください。
- 1 か所で作業したい場合は、多くの場合、エディターからほとんどの操作を実行できます。 VS Code などのエディターには、一般的な Git コマンド用の統合ターミナルとボタンが含まれているため、ファイルの編集や、GitHub への変更のプッシュなど全ての行動を 1 か所から実行できます。 また、GitHub の pull request と問題を直接操作する拡張機能をインストールすることもできます。 開始するには、「VS Code のダウンロード」を参照してください。
GitHub に接続するためのツールの比較
次の表に、ブラウザーとデスクトップで、GitHub のリポジトリを操作するために使用できるツールの比較を示します。
ここで説明するツールを使用して、GitHub フロー全体を実行できます。 各ツールには、加えた変更を追跡するための Git コマンドだけでなく、GitHub 固有の機能へのアクセスも含まれているため、作業している場所を問わず、提案する変更を含めた pull request を作成できます。
これらの各ツールを使用して GitHub を認証する方法の詳細は、「GitHub への認証方法について」を参照してください。
ツール | ユース ケース | ブラウザーまたはデスクトップ |
---|---|---|
GitHub.com 上 | ビジュアル インターフェイスが必要であり、通常は 1 つのコミットを含む、すばやく簡単な変更を行う必要があります。 概要については、「Hello World」を参照してください。 | Browser |
github.dev | リポジトリに対して、GitHub.com でできることよりも複雑な変更を加える必要があるが、コンピューターにインストールしたターミナルやツールを操作する必要はない場合。 詳しくは、「github.dev Web ベース エディター」をご覧ください。 | Browser |
GitHub Codespaces | スクリプトの実行、プロジェクトのテスト ビルドの作成、依存関係のインストールなどを行うには、コンピューターのリソースが必要で、クラウドベースの環境で作業をすぐに開始することが望ましい場合。 詳しくは、「GitHub Codespaces の概要」をご覧ください。 | ブラウザーまたはデスクトップ |
GitHub Desktop | ファイルをローカルで操作する必要があり、Git の使用、変更の視覚化、GitHub とのやり取りを行うビジュアル インターフェイスを使用することが望ましい場合。 詳しくは、「GitHub Desktop について」をご覧ください。 | デスクトップ |
IDE またはテキスト エディター | より複雑なファイルやプロジェクトを操作し、すべてを 1 か所で作成することが望ましい場合。 | デスクトップ |
コマンド ライン Git と GitHub CLI | コマンド ラインからの作業に慣れていて、コンテキストの切り替えを避けることが望ましい場合、またはビジュアル インターフェイスに統合されていない複雑な Git コマンドにアクセスする必要がある場合。 詳細については、「Git のセットアップ」および「GitHub CLI について」を参照してください。 | デスクトップ |
GitHub API | データのバックアップなどの一般的なタスクを自動化したり、GitHub を拡張する統合を作成したりする必要がある場合。 詳しくは、「GitHub の REST API と GraphQL API の比較」をご覧ください。 | ブラウザーまたはデスクトップ |