オリジンとアップストリームのリモートを持つレポがあります。通常、私のワークフローでは、変更をアップストリームからプルし、それらをオリジンにプッシュします (この場合、アップストリームは会社の GitHub 組織のリポジトリであり、正規のものであり、オリジンはそのフォークです)。
問題は、私のリモート追跡ブランチが Iまたはupstream/masterで更新されないように見えることです。git pull upstream mastergit 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/master197ac91upstream/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そのコマンドの最後に を追加すると、何らかの理由で、ローカルのリモート追跡ブランチが更新されなくなります。