リモートリポジトリからの変更取得と git status の確認
このステップでは、リモートリポジトリから変更を取得し、ローカルリポジトリの状態を確認する方法を学びます。
他の人と一緒にプロジェクトを進めているシチュエーションを想像してみてください。彼らがプロジェクトに変更を加え、中央の場所(リモートリポジトリ)に保存することがあります。あなたはそれらの変更を自分のプロジェクトのコピー(ローカルリポジトリ)に取り込む方法が必要です。ここで git fetch
が役に立ちます。
まず、プロジェクトディレクトリにいることを確認しましょう。ターミナルを開き、次のコマンドを入力します。
cd ~/project/my-time-machine
次に、リモートリポジトリをシミュレートしましょう。実際のシナリオでは、これは GitHub や GitLab のようなプラットフォーム上にあります。この実験では、ローカルディレクトリを「リモート」として使用します。
git remote add origin ../my-time-machine-remote
このコマンドは、現在のプロジェクトの外のディレクトリを指す origin
という名前の「リモート」を追加します。
では、git fetch
を使用して、このシミュレートされたリモートから変更を取得しましょう。
git fetch origin
新しい変更がない場合、出力はあまり表示されないかもしれませんが、このコマンドはリモートリポジトリに接続し、コミットやブランチなどの新しい情報をダウンロードしますが、現在のブランチにマージすることはありません。
変更を取得した後は、常にローカルリポジトリの状態を確認し、リモートから取り込んでいない変更があるかどうかを確認することをおすすめします。
git status
git status
の出力は、ローカルブランチがリモートブランチと「最新」であるか、またはプルできる変更があるかを示します。たとえば、次のような出力が表示されることがあります。
On branch master
Your branch is up to date with 'origin/master'.
nothing to commit, working tree clean
または、リモートに変更があった場合:
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
git fetch
の後に git status
の出力を理解することは非常に重要です。これは、ローカルブランチとリモートリポジトリ上の対応するブランチとの関係を示します。これにより、変更をプルする必要があるか、またはローカルコピーがすでに最新であるかを判断するのに役立ちます。