377

Git でブランチを master にマージするときに問題が発生しました。まず、 を実行してブランチ名を取得しましたgit ls-remote。そのブランチを「branch-name」としましょう。次に、git merge branch-nameコマンドを実行したところ、次の結果が得られました。

fatal: branch-name - not something we can merge

このエラーを解決するにはどうすればよいですか?

4

29 に答える 29

464

で示したように、「融合できないもの」はどのように発生するのでしょうか。、このエラーは、存在しないブランチをプルしようとしているため、ブランチ名のタイプミスが原因で発生する可能性があります。

それが問題でない場合 (私の場合のように)、マージしたいブランチのローカル コピーがない可能性があります。Git は、これらのブランチをマージするために、両方のブランチのローカル知識を必要とします。これを解決するには、マージするブランチをチェックアウトしてから、マージ先のブランチに戻ります。

git checkout branch-name
git checkout master
git merge branch-name

これは機能するはずですが、次のようなエラーが表示された場合

error: pathspec 'remote-name/branch-name' did not match any file(s) known to git.

ブランチをチェックアウトする前に、リモートをフェッチする必要があります (おそらく、必ずしも「オリジン」ではありません)。

git fetch remote-name
于 2013-05-31T17:41:29.383 に答える
131

ばかげた提案ですが、ブランチ名にタイプミスがないことを確認してください!

于 2014-01-05T01:17:48.677 に答える
87

リモートのアップストリームから引っ張るときgit fetch --all、私のためにトリックをしました:

git remote add upstream [url to the original repo]
git checkout [branch to be updated]
git fetch --all
git merge upstream/[branch to be updated]

それ以外の場合、リモート (オリジン、アップストリーム) ブランチが存在しない場合にも、「マージできるものではありません」というエラーが発生することがわかりました。これは当たり前のように思えるかもしれませんがgit merge origin/developmaster.

于 2015-08-25T20:37:47.087 に答える
29

私もこの問題を抱えていました。ブランチは「ユーザー名/マスター」のように見え、私が定義したリモートアドレスのように見えたため、git を混乱させたようです。これを使っている私にとって

git merge origin/username/master

完全にうまくいきました。

于 2014-12-04T23:39:05.363 に答える
27

以下の方法は毎回うまくいきます。

git checkout master
git pull
git checkout branch-name-to-be-merged
git pull
git checkout branch-name
git pull
git merge branch-name-to-be-merged
于 2018-09-14T07:15:16.487 に答える
8

originキーワードを使用しておらず、ブランチが独自のものではない場合にも、このエラーが発生する可能性があります。

git checkout <to-branch> 
git merge origin/<from-branch>
于 2020-07-01T23:57:55.343 に答える
7

このエラーは、変更をマージする元のブランチ (例: branch-name) がローカルに存在しないことを示唆しているため、ブランチをチェックアウトしてローカルの変更をフェッチする必要があります。マスター ブランチにチェックアウトしてフェッチし、次の手順に従います。

git checkout branch-name
git pull
git checkout new-branch-name
git merge branch-name
于 2018-08-03T06:32:03.960 に答える
7

マージするブランチがローカル リポジトリに存在しないため、このエラーが発生しています。

したがって、最初に次のコマンドで master ブランチにマージするブランチをチェックアウトします。

git checkout branch_name_to_merge

この後、次のコマンドで master ブランチとのマージを試みます。

git merge branch_name_to_merge
于 2016-09-15T13:07:12.893 に答える
3

git merge BRANCH_NAME "some commit message"コミットメッセージに -m フラグを追加するのを忘れていたため、ブランチ名にコメントが含まれていると考えられました。

于 2014-03-03T13:25:59.463 に答える
2

ブランチ名にコンマ (,) が含まれていたため、このエラーが発生しました。ローカル ブランチを削除してから、カンマなしの新しい名前で再チェックしました。無事合体できました。

于 2016-10-12T21:53:00.087 に答える
2

参照を含む文字列が別の Git コマンド (またはその他のシェル コマンド) によって生成される場合は、末尾に改行が含まれていないことを確認してください。文字列を「git merge」に渡す前に、それを削除する必要があります。

エラーメッセージが2行にあるため、これがいつ発生するかは非常に明白であることに注意してください。

merge: 26d8e04b29925ea5b59cb50501ab5a14dd35f0f9
 - not something we can merge
于 2014-09-24T10:10:39.053 に答える