origin
とupstream
の違いは何ですか?GitHub?
コマンドを実行するとgit branch -a
、表示されるブランチの一部にはプレフィックスorigin
( remotes/origin/..
) が付き、その他のブランチにはプレフィックスupstream
( remotes/upstream/..
) が付きます。
ベストアンサー1
これは、GitHub フォーク(GitHub リポジトリを GitHub 上でフォークしてから、そのフォークをローカルにクローンします)。
upstream
通常は、フォークした元のリポジトリを指します
(「downstream
「 」と「upstream
」の定義用語の詳細については「」を参照してくださいupstream
)origin
フォークはGitHub上のあなた自身のリポジトリ、GitHubのオリジナルリポジトリのクローンです
GitHub ページから:
リポジトリがクローンされると、
origin
元のリポジトリではなく、GitHub上のフォークを指すデフォルトのリモートが作成されます。
元のリポジトリを追跡するには、別のリモートを追加する必要があります。upstream
git remote add upstream https://github.com/<aUser>/<aRepo.git>
(aUser/aRepo
フォークした元の作成者とリポジトリの参照付き)
注記:2021年9月以降、ポート 9418 上の認証されていない Git プロトコル ( git://...
) は GitHub ではサポートされなくなりました。
元のリポジトリから取得するupstream
ために使用します(貢献したいプロジェクトとローカル コピーを同期させるため)。
git fetch upstream
(git fetch
単独ではデフォルトで取得されますがorigin
、ここでは必要ありません)
独自のリポジトリに貢献できるため、プルとプッシュorigin
に使用します。
git pull
git push
(パラメータがない場合、デフォルトで「origin」が使用されます)
リポジトリに貢献するupstream
には、プルリクエスト。