フォークされたリポジトリを更新する

Isaac Newton Aranas 2023年1月30日
  1. Git でフォークされたリポジトリを更新する
  2. Git でフォークされたリポジトリを更新する際の事実を再検討する
フォークされたリポジトリを更新する

フォークとは、それを自分のものにコピーしたが、元のリポジトリからフォークされたものとしてタグ付けされたことを意味します。ご使用のバージョンのファイルを追加、編集、および削除できます。

フォークされたリポジトリは、アップストリームから簡単にフェッチできます。

Git でフォークされたリポジトリを更新する

フォークされたリポジトリのクローンを作成し、プロジェクトフォルダーに移動して、bash で次のコマンドを実行します。

git remote add upstream https://github.com/authorname/original-repository-name.git

このコードは、upstream と呼ばれるリモートを追加するためのものです。リモートは、リポジトリのリンクのニックネームのようなものです。

これは、git fetch origin master を実行するときのリモートの origin のようなものです。これで、git fetch upstream master を実行できます。

git remote -v

origin  https://github.com/you/original-repository-name.git (fetch)
origin  https://github.com/you/original-repository-name.git (push)
upstream  https://github.com/authorname/original-repository-name.git (fetch)
upstream  https://github.com/authorname/original-repository-name.git (push)

ここで、すべてのアップストリームブランチをフェッチします。

git fetch upstream

フォークされたリポジトリの変更を更新するブランチを選択します。たとえば、master

git checkout master

アップストリームからブランチをマージします。この場合、コミットの履歴は影響を受けません。

git merge upstream/master

アップストリームから完全にクリーンアップする場合は、代わりに次のコードを実行します。これにより、コミットが書き換えられ、リポジトリのクローンを作成したユーザーに影響を与える可能性があります。

git rebase upstream/master
ヒント
別のブランチを作成してリベースを行うことができます。これにより、作業中のブランチのようなマスターが不要なマージや履歴の書き換えを防ぐことができます。

最後のステップとして、ブランチをプッシュします。

マージした場合は、次のコードを実行します。

git push origin master

リベースした場合は、次のコードを実行します。

git push -f origin master

フォース -f フラグは、リベースした後の最初のプッシュでのみ必要であることに注意してください。

Git でフォークされたリポジトリを更新する際の事実を再検討する

リポジトリのクローンを作成した人をアップストリームと時間、作業、および労力に対して再検討してください。

何をプルまたは更新しているかわからない場合は、常にブランチを作成してください。

バックアップリポジトリはありますか?分岐しますか?すでに行ったことをやり直すよりも、一時的なブランチを削除する方が簡単です。

したがって、これを実際のリポジトリに適用する前に、まずこのチュートリアルを練習して、手順を理解し、機能するものと機能しないものに慣れてください。

関連記事 - Git Repository