1. ホーム
  2. git

[解決済み] 他のリポジトリからの Git pull

2022-09-04 16:14:50

質問

という名前のリポジトリを持っています。 Generic というリポジトリがあり、これは一般的なアプリケーションです。これをフォークして Acme というリポジトリにフォークしました。 Generic リポジトリに構築し、Acme Co のブランディングを追加しています。

のコア機能に変更を加えた場合、その変更は Generic を更新したい。 Acme リポジトリにあるコア機能に加えた最新の変更で Generic . どのようにすればいいのでしょうか?

私が知る限り、私は本質的に上流レポジトリで行われた変更を現在のフォークにマージしようとしています。

もしそれが何かを意味するなら、私はこれをしようとしています。なぜなら、私は、個々のクライアントのために構築しブランド化する汎用アプリケーションを持っているからです (たとえば Acme のように)。これを行うよりきれいな方法があれば、教えてください。

どのように解決するのですか?

以下のコマンドを Acme レポで次のコマンドを実行します。という名前の新しいリモートリポジトリを追加します。 upstream という名前の新しいリモートリポジトリが追加され、それが Generic レポを指しています。

git remote add upstream https://location/of/generic.git

に加えられたすべての変更をマージすることができます。 Generic で現在のブランチにマージします。 Acme を以下のコマンドで実行します。

git pull upstream

自動的にマージせずに変更をダウンロードさせるだけなら git fetch の代わりに git pull .

そのリポジトリへのプッシュを無効にしたい場合は、次のような方法でプッシュURLを無効なURLに設定します。

git config remote.upstream.pushurl "NEVER GONNA GIVE YOU UP"

にプッシュしようとすると、Git はレポが見つからないと怒鳴るようになります。 upstream にプッシュしようとすると、レポが見つからないと叫ぶようになりました (Rickrollについては申し訳ありませんが、頭に浮かんだ最初のランダムな文字列でした)。