1. ホーム
  2. git

[解決済み] git remote add upstream」は何を実現するのに役立つのでしょうか?

2022-03-05 03:12:24

質問

を読んでいたのですが。 https://wiki.diasporafoundation.org/Git_workflow#Rebase_your_development_branch_on_the_latest_upstream

以下はその抜粋です。

あなたのリポジトリを最新にする

開発用トランクから最新のアップデートを取得するために GitHubのメインレポをリモートとして確立するために、1回だけセットアップします。 を入力します。

$ git remote add upstream git://github.com/diaspora/diaspora.git

最新のアップストリームで開発ブランチをリベースする

開発ブランチを最新の状態に保つには、変更点を は、上流のマスターの現在の状態です。上流のマスターの現在の状態を知るには、「上流のマスターとは? リベースの詳細については、以下の git-rebase のセクションをご覧ください。

上記のように上流側のブランチと 100-retweet-bugfix という開発用ブランチを作成し、上流を更新します。 ローカルのマスターを更新し、そこからブランチをリベースします。

$ git fetch upstream

$ git checkout master

$ git rebase upstream/master

$ git checkout 100-retweet-bugfix

[ブランチに必要なものがすべてコミットされていることを確認する] 。

$ git rebase master

この場合、なぜ「リモートアップストリーム」を追加する必要があるのでしょうか?ただやっただけではダメなのでしょうか。

$ git checkout master

$ git pull origin master

$ git checkout 100-retweet-bugfix

[ブランチに必要なものがすべてコミットされていることを確認する] 。

$ git rebase master

解決方法は?

wikiはフォークされたレポの観点から話しています。originからpullやpushをすることができ、それはdiasporaのメインレポジトリをフォークしたものになります。このメインリポジトリから変更を取り込むには、あなたのローカルリポジトリにオリジナルを指すリモート、 "upstream" を追加して、そこから取り込みます。

つまり、"origin" はフォークリポジトリのクローンで、そこからプッシュとプルを行います。 "Upstream" はメインリポジトリの名前で、ここからプルしてフォークのクローンを更新し続けますが、それに対するプッシュアクセスを持っていません。