リモートを設定してリポジトリを更新する

John Wachira 2022年6月21日
リモートを設定してリポジトリを更新する

このチュートリアルでは、中央リポジトリで変更が発生したときにフォークを更新できるように、中央リポジトリをローカルリポジトリのリモートとして設定する方法について説明します。ローカルリポジトリを編集する前に、必ずこの手順を実行する必要があります。

リモートを設定してリポジトリを更新する

テイクアウェイ:

  1. 編集を行う前にローカルリポジトリを更新することの重要性。
  2. アップストリームリモート(中央リポジトリ)からローカルリポジトリを更新するにはどうすればよいですか?

フォークは、各開発者が GitHub アカウントに追加する中央リポジトリの個別のコピーです。次のステップは、アカウントのリモートリポジトリをローカルマシンに複製することです。

これで、ファイルを処理し、変更をコミットして、GitHub アカウントのフォークにプッシュできます。最後のステップは、フォークの変更で中央リポジトリを更新するためのプルリクエストを完了することです。

上記は、他の開発者との共同プロジェクトで作業する場合の典型的なワークフローです。

残っているのは、他の開発者が中央リポジトリにプッシュした変更でローカルリポジトリを更新することです。これについてはどうすればよいですか?

アップストリームリモートを設定する

マージの競合を回避するために、編集を行う前にローカルリポジトリを中央リポジトリで更新することが重要です。ローカルリポジトリのアップストリームリモートとして中央リポジトリを設定する必要があります。

次の手順を実行します。

  • 中央リポジトリに移動し、クローンまたはダウンロードアイコンをタップしてリポジトリ URL をコピーします。
  • ディレクトリに移動します。
    $ cd ~/Documents/GitHub/DelftStack-participants
    
  • 中央リポジトリをアップストリームリポジトリとしてローカルリポジトリに設定するには、次のコマンドを実行します。
    $ git remote add upstream https://github.com/Delftstack/Delftscopetech-participants.git
    
  • ローカルリポジトリをアップストリームで更新するには、以下のコマンドを実行します。
    $ git pull upstream master
    

master を受信者ブランチとして指定していることに注意してください。

例:

$ git pull upstream master
remote: Counting objects: 21, done.
remote: Compressing objects: 100% (15/15), done.
remote: Total 21 (delta 14), reused 17 (delta 10), pack-reused 0
Unpacking objects: 100% (21/21), done.
From https://github.com/Delftstack/Delftscopetech-participants.git
    74d9b7b..463e6f0  master   -> origin/master
Auto-merging _posts/institute-materials/example.md

上記の出力は、ローカルリポジトリを中央リポジトリと同期したことを確認します。git status コマンドを実行して、ローカルリポジトリのステータスを確認できます。

git add および git commit コマンドを実行して、変更を保存します。

これで、ファイルの編集を開始し、変更をコミットできます。サイクルを完了するには、GitHub アカウントのフォークに変更をプッシュする必要があります。

$ git push origin master

中央のリモートリポジトリを操作する場合は、このループを使用する必要があります。

著者: John Wachira
John Wachira avatar John Wachira avatar

John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.

LinkedIn

関連記事 - Git Remote