2017-01-03 66 views
2

我以某種方式導致git在重命名Java項目中的目錄後感到困惑。現在有一大堆幻影文件位於我的工作副本中,用於舊文件名,我似乎無法刪除它。Git:在重構文件名後無法清除工作副本

之一這些變化的一個例子是:

例DIFF:NumberUtils.java

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

它基本上只是提交所述位置改變。但每次我嘗試提交此更改,git的(和源樹)只是忽略它,他們繼續作爲提交的修改

我已經試過周圍StackOverflow的所有不同的混帳建議:

git reset --head head git clean -rf

他們似乎都沒有工作。

即使在重構之前重置爲之前的提交,正確地執行操作併合並回來也不起作用,因爲此文件損壞會阻止合併。

我甚至嘗試過一種'得分地球'的方法,以及我剛剛克隆了本地新副本的地方。第二次我做了第一次提交,這個噪音又重新出現了。

回答

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

相關問題