オリジンとアップストリームのリモートを持つレポがあります。通常、私のワークフローでは、変更をアップストリームからプルし、それらをオリジンにプッシュします (この場合、アップストリームは会社の GitHub 組織のリポジトリであり、正規のものであり、オリジンはそのフォークです)。
問題は、私のリモート追跡ブランチが Iまたはupstream/master
で更新されないように見えることです。git pull upstream master
git fetch upstream master
したがって、次のようなものから始めるとします。
* d386ff8 (upstream/master, origin/master, master) commit 1
そして実行するgit pull upstream master && git push origin master
と、次のような結果になります。
* 197ac91 (origin/master, master) commit 2
* d386ff8 (upstream/master) commit 1
アップストリーム リポジトリのマスター ブランチがコミット 2 であることはわかっています197ac91
(その github ページにアクセスするか、リポジトリを再クローンすることで確認できます) 。私のレポのリモート追跡ブランチが移動するのは、プッシュしたときだけです。アップストリームリポジトリのマスターブランチが実際にどこにあるかを反映させるにはどうすればよいですか?upstream/master
197ac91
upstream/master
これが私のもの.git/config
です:
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
precomposeunicode = false
[remote "origin"]
url = git@github.com:me/repo.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
[remote "upstream"]
url = git@github.com:mycompany/repo.git
fetch = +refs/heads/*:refs/remotes/upstream/*
更新: これはこの質問の複製のようです。を実行することで問題を解決できますgit fetch upstream
。どうやらmaster
そのコマンドの最後に を追加すると、何らかの理由で、ローカルのリモート追跡ブランチが更新されなくなります。