TFS で開始され、その後 Git に移行されたプロジェクトがあります。残念ながら、それを Git に移動した人は、git-tfs を使用する代わりに現在のファイルをチェックインしただけです。git-tfs を使用して TFS からプルしたコミットの上に、Git で彼の新しいコミットをリベースしようとしています。
これを行うには、git-tfs コミットの上に彼のコミットをリベースするだけです。(リモートの Git ブランチが台無しになることは承知していますが、私たちは小さなチームなので問題ありません。代わりにチェリー ピッキングも試しましたが、同じ問題に遭遇しました。)
私が直面している問題は、次のような一連の競合です。
<<<<<<< HEAD
namespace OurNiftyProject
{
public enum CardType
{
Visa = 0,
MasterCard = 1
}
}
||||||| merged common ancestors
=======
namespace OurNiftyProject
{
public enum CardType
{
Visa = 0,
MasterCard = 1
}
}
>>>>>>> Add a bunch of stuff.
これは、これらのファイルを追加した TFS 側からのコミットと、それらを追加した Git 側のコミットとの間の競合のようです (Git リポジトリが空で始まったため)。
おそらく、このコミットをスキップするのが論理的ですが、その中には新しいファイルがいくつかあります (数百のうちの 10 など)。もちろん、それらは競合を引き起こしません。
2 つのファイルが同一であることを Git が判断できないのはなぜですか? リベースするときに使用しても--ignore-whitespace
、Git には、このような同一のファイルが多数表示されます。これを解決する方法に途方に暮れています。