2

免責事項: git を使用して数か月が経ちましたが、git を使用して何をしているのか、まだまったくわかりません。うまくいくのは、Web のさまざまなページで見つけた指示に正確に従っているときだけです。

私がやろうとしているのは、別のプロジェクトからフォークされたリポジトリを更新することです。これらの手順が機能することがわかり、更新するたびにそれらに従っています

ただし、今回マージしようとすると、次のようになります。

warning: refname 'upstream/master' is ambiguous.
Already up-to-date

そして、フォーク元のプロジェクトが最近コミットされたにもかかわらず、何も起こりません。何がいけなかったのかわからず、本当に困っています。この質問が信じられないほど初歩的または愚かである場合は申し訳ありません。

EDIT 1:また、成功しなかった多数のソリューションを検索しました。

編集 2: git branch -a の出力

* master
upstream/master
remotes/origin/HEAD -> origin/master
remotes/origin/log-upgrade
remotes/origin/master
remotes/origin/past-gens
remotes/origin/prototype-party
remotes/upstream/log-upgrade
remotes/upstream/master
remotes/upstream/past-gens
remotes/upstream/prototype-party

編集 3:同様の質問

git refname 'origin/master' はあいまいです
Git: refname 'master' はあいまいです
警告: refname 'HEAD' はあいまいです
Git 警告: refname 'xxx' はあいまいです

4

2 に答える 2

8

という 2 つのブランチがありupstream/masterます。1 つはローカル ブランチで、もう 1 つはリモートのブランチです。を実行しようとすると、これら 2 つのブランチのどちらからマージしたいかがわからないため、あいまいになりますgit mergegit

git branch -aこれは、 (リモートを含むすべてのgitブランチを表示)から確認できます。

upstream/master
<SNIP>
remotes/upstream/master

これを修正するには、ローカルブランチの名前を変更 (または削除) します。

git branch -m <old name> <new name>

あなたの場合、次のように名前を変更します(名前をに変更しますnewname):

git branch -m upstream/master newname

git fetchこれにより、 /をgit merge適切に実行できるようになります。

于 2012-12-17T06:35:40.707 に答える
2

実行するだけです:

git merge remotes/upstream/master

それ以外の

git merge upstream/master

または、次を実行してローカルupstream/masterブランチを削除します。

git branch -d upstream/master

そして、git の仕組みを学びましょう ;)。それほど複雑ではありません。核となる原則を理解すれば、すべてが非常に簡単です。

于 2012-12-17T09:52:52.977 に答える