分岐のためにリモートリポジトリの更新を取得して git status を確認する
このステップでは、リモートリポジトリにあってローカルにない変更があるかどうかを確認する方法を学びます。これは、他の人と共同開発する際や、他の場所で更新されるプロジェクトに取り組む際に重要です。
まず、いくつかの変更があるリモートリポジトリをシミュレートしましょう。実際のシナリオでは、これは GitHub や GitLab のようなプラットフォームにホストされているリポジトリです。この実験では、ローカルディレクトリを「リモート」として使用します。
まだプロジェクトディレクトリにいない場合は、戻ってください。
cd ~/project/my-time-machine
次に、シミュレートされたリモートから最新の変更を取得しましょう。git fetch
コマンドを使用します。このコマンドは、リモートリポジトリからコミット、ファイル、参照をダウンロードしてローカルリポジトリに保存します。ただし、現在のブランチにマージすることはありません。
git fetch origin
新しい変更がない場合は、出力がほとんど表示されないことがあります。ただし、git fetch
はローカルリポジトリ内のリモートブランチに関する情報を更新します。
次に、git status
を使用して、ローカルブランチがリモートブランチよりも遅れているかどうかを確認します。git status
コマンドは、リポジトリの現在の状態を確認するためのウィンドウです。このコマンドは、ステージングされたファイル、ステージングされていないファイル、追跡されていないファイルについて教えてくれます。また、現在のブランチとその上流ブランチの関係に関する情報も提供します。
git status
コマンドを実行します。
git status
先ほど取得したリモートに変更があった場合、git status
の出力は、ローカルブランチがリモートブランチよりも遅れていることを示します。出力は次のようになることがあります。
On branch master
Your branch is behind 'origin/master' by 1 commit, and can be fast-forwarded.
(use "git pull" to update your local branch)
nothing to commit, working tree clean
このメッセージは、ローカルの master
ブランチが origin/master
ブランチ(マスターブランチのリモートバージョン)より 1 つのコミット分遅れていることを示しています。また、ローカルブランチを更新するために git pull
を使用することを提案しています。これについては、後の実験で説明します。
取得後の git status
の出力を理解することは重要です。なぜなら、リモートリポジトリから新しい変更があるかどうかを、ローカルの作業に統合する前に知ることができるからです。これにより、潜在的な競合を防ぎ、プロジェクトの進捗状況を把握することができます。