2017-12-17 3 views
0

は、我々は、新しいブランチrefactorを開始し、PRを押しリベースの削除されたファイルから変更を適用するにはどうすればよいですか?

Init

// file 
Foo 
Bar 

で開始したとします。

新しいファイルを新しいファイルfooBarに新しいファイルbarに移動します。

は今、マスターは

// file 
Foo123 
Bar 

を変更し、PRは現在、マージ競合を持っています。 私はrebaseを行うときに私はまた、矛盾を取得し、これはそれがmagitに見える方法です。

FooFoo123に変更されたことを知りますか?このような単純なケースでは、難しくはありませんが、fileは数千のlocであり、PRは1ヶ月間そこに座っており、他の人はfileに変更されていると考えてください。

削除されたファイルに遭遇したとき、私のapporachは非常にエラーを起こしやすいので、ファイルに触れたすべてのコミットを見て、それに応じてコピーをコピーしてからgit rm fileのファイルを削除しますが、 。確かに良い方法があるはずですか?

答えて

0

あなたは名前を変更またはコピーされていますか見て

git show --name-status 

を使用することができます。より多くのコマンドで名前が変更された場合は、より良いでしょうが、git show --name-status(および同等のものはgit log --no-walk --name-status)がそれらを識別します。

+1

'git show'は' git diff'を実行し、 'git diff'は名前の変更やコピーを検出します。 Gitのバージョン2.9以降ではデフォルトでrename-findingが有効になっていますが、コピールーディングはデフォルトでは常に無効になっています。 'diff.renames'と' diff.renameLimit'を設定してデフォルトの 'git diff'名前変更の振る舞いを変更することができます.Git(1.5.something)と同じくらい前に戻ります。 – torek

関連する問題