3

私はgitを初めて使用し、次の問題があります。

私は自分のプライベート ブランチでいくつかの大きなコード ファイルに取り組み、それをリファクタリングしたので、そのほとんどは他のいくつかのコード ファイルに移動されました。今、「git merge --squash --no-commit mybranch」を介してマスターにマージしようとしていますが、コミットしようとするとエラーが発生します:

エラー: 'foo' にはインデックスにステージングされた変更があります (ファイルを保持するには --cached を使用するか、強制的に削除するには -f を使用します)

また、foo のステータスは「変更済み」および「bar に名前変更済み」ですが、bar は foo から使用される新しいファイルです。これが名前変更とコミットではないことをgitに伝えるにはどうすればよいですか?

4

1 に答える 1

3

マージの名前変更のしきい値を100%(または非常に高い値)に変更します。

git merge -X rename-threshold=100 <branch>

git merge次に、2つのファイルが100%同一である場合にのみ、この特定のマージの名前変更を検出します。これは1回限りのマージ戦略の議論であるため、永続的な設定であることを心配する必要はありません。

于 2012-08-17T21:08:08.980 に答える