2017-01-03 17 views
2

Javaプロジェクトのディレクトリの名前を変更した後、何とかgitを混乱させてしまいます。私は削除することができない古いファイル名のために私の作業コピーに座っているファントムファイルの全体の束が今あります。Git:ファイル名をリファクタリングした後に作業コピーを消去できません

1つのこれらの変化の一例である。

例差分:NumberUtils.java

-package com.RedactedCompanyName.Helpers; +package com.RedactedCompanyName.helpers;

その基本的にちょうど位置の変更をコミットします。しかし、私は、この変更をコミットしようとするたびに、gitの(ソースツリー)がそれを無視し、彼らは私がStackOverflowの周りのすべての様々なGitの提案を試みたとしてコミットされていない修正

まま:

git reset --head head git clean -rf

を彼らのどれも働いていないようです。

このリファクタの前に以前のコミットにリセットしても、正しくリビジョンを実行してからマージすると、このファイルの破損によってマージが妨げられます。

私はちょうど私がレポの新しいローカルコピーをクローンしたところで「採点された地球」アプローチを試みました。 2番目は私の最初のコミット、このノイズが再現された。

答えて

1

悲しいことに、クラスの名前を変更するときにはgit mvを使用する必要があります(標準ツールでは、Javaファイルの名前を変更/リファクタリングする際に通常そうすることができないためです)。それができない場合は、git rmを使用して古いファイルを削除する必要があります。あなたのケースで

例えば、

git mv OldNumberUtils.java NumberUtils.java 
git commit -m "Renamed OldNumberUtils to NumberUtils" 

または、(gitは、名前の変更について知られていないため)

git rm OldNumberUtils.java 
git commit -m "Removing OldNumberUtils, because it was renamed NumberUtils" 
+0

働きました!あなたが本当に良い理由がなければ、物語の道徳はJavaプロジェクトのフォルダ名にとどまらないと思います – Swefnian

関連する問題