2

fooブランチのgitリポジトリにファイルを作成しますmaster

dev次に、を使用して新しいブランチを作成しgit checkout -b devます。

ブランチdevで、名前をbarusingに変更しgit mv foo barます。

その後、で何かを変更してfooコミットします。

しかし、ブランチをチェックアウトするdevgit merge mastergitは自動的にマージせず、自分でマージするように要求します。

それで、私が実行した後fooの祖先はありますか?gitを自動的にマージさせる方法はありますか?bargit mv

4

1 に答える 1

2

「名前が変更されたファイルとのgitマージ」で説明したように、名前変更のしきい値を調整してみてください。

git 1.7.4以降、マージの名前変更のしきい値を次のように指定できます

git merge -X rename-threshold=25 

25%の類似性が、2つのファイルの名前を候補に変更することを検討するのにすでに十分であることを制御するために。
これは、場合によっては、-X ignore-space-change名前変更の検出の信頼性を高める可能性があります。

まだTilmanVogelgit-merge-associateから、マージが名前変更を検出しない場合、スクリプトは2つのファイル(一方はもう一方の名前が変更されたバージョン)間の関連付けを復元するのに役立ちます。

于 2013-03-16T13:15:23.363 に答える