[解決済み] GitHubでフォークされたリポジトリを更新または同期するにはどうすればよいですか?
2022-03-16 08:17:12
質問
あるプロジェクトをフォークして、いくつかの修正を加え、プルリクエストを作成し、それが受理されました。数日後、別の貢献者によって別の変更がなされました。そのため、私のフォークにはその変更が含まれていません。
どうすればその変更を私のフォークに取り込むことができるでしょうか?さらに変更を加えたい場合、私のフォークを削除して再作成する必要がありますか?それとも更新ボタンがあるのでしょうか?
解決方法は?
フォークしたリポジトリのローカルクローンに、元の GitHub リポジトリを "remote" として追加します ("remotes" はリポジトリの URL のニックネームのようなものです -) 。
origin
がその一例です)。 そして、その上流リポジトリからすべてのブランチを取得し、上流バージョンで作業を継続するためにリベースすることができます。 コマンドとしては以下のような感じです。
# Add the remote, call it "upstream":
git remote add upstream https://github.com/whoever/whatever.git
# Fetch all the branches of that remote into remote-tracking branches
git fetch upstream
# Make sure that you're on your master branch:
git checkout master
# Rewrite your master branch so that any commits of yours that
# aren't already in upstream/master are replayed on top of that
# other branch:
git rebase upstream/master
master ブランチの履歴を書き換えられたくない場合 (たとえば他の人がそれをクローンしているかもしれないから) は、最後のコマンドを次のように置き換えます。
git merge upstream/master
. しかし、可能な限りクリーンなプルリクエストを行うためには、おそらくリベースしたほうがよいでしょう。
にリベースした場合、そのブランチは
upstream/master
の場合、GitHub 上でフォークした自分のリポジトリにプッシュするために強制プッシュが必要になることがあります。 そのためには、次のようにします。
git push -f origin master
を使うだけです。
-f
は、リベース後の最初の1回だけです。
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] コミット前に 'git add' を取り消すにはどうすればよいですか?
-
[解決済み] Git リポジトリを以前のコミットに戻すにはどうすればよいですか?
-
[解決済み] Git リポジトリでのマージの衝突を解決するには?
-
[解決済み] リモート Git リポジトリの URI (URL) を変更するには?
-
[解決済み] 新しいローカルブランチをリモートの Git リポジトリにプッシュし、それを追跡するにはどうすればよいのでしょうか?
-
[解決済み] ローカルの Git リポジトリが元々クローンされた URL を特定するにはどうすればよいですか。
-
[解決済み】ローカルリポジトリのブランチをリセットして、リモートリポジトリのHEADと同じにする
-
[解決済み】ローカルのGitブランチの名前を変更するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】現在のブランチの先端がリモートブランチより遅れているため、更新が拒否されました。
-
[解決済み】Gitのエラー。リモートリポジトリへの接続時に「Host Key Verification Failed」。
-
[解決済み】Gitマージで「すでに最新」と報告されるが、違いはある
-
[解決済み】GitHubのメッセージの意味: メールのプライバシー制限のためプッシュが拒否されました。
-
[解決済み】なぜ「git commit」は私の変更を保存しないのですか?
-
[解決済み】Git Extensions。Win32 エラー 487: cygwinのヒープ用に領域を確保できなかった、Win32エラー0
-
[解決済み】マージが終了していません(MERGE_HEADは存在します)。
-
[解決済み] あなたのブランチは 'origin/master' より 3 コミット進んでいます。
-
[解決済み] ブラウンアウトの一環として、パスワード認証が一時的に無効になっています。代わりに個人用アクセストークンを使用してください[重複]。
-
[解決済み] Git作者不明