2013-04-21 69 views
3

我將tools的目錄重命名爲Tools並提交。在此之後,我有兩個目錄在我的遠程。所以出於某種原因,git沒有刪除工具目錄。如何防止或解決當前的問題?Windows上的git重命名問題

+0

'git add --all'包含刪除和創建。 – TheBuzzSaw 2013-04-21 18:24:23

回答

0

如果:

  • 你沒有做任何其他的承諾
  • 別人克隆或從遠程回購拉

我勸你:

  • 復位到以前的承諾(其中載工具),git reset --hard HEAD^(確保你沒有任何正在進行的工作,或者先藏起來吧)
  • 正確命名目錄:git mv tools Tools
  • 力一推:git push --force
2

你在不通知git的情況下重新命名了一個目錄,因此git認爲你的Tools目錄是一個新的新目錄,並將它添加到版本控制中。

  • 要解決這個問題,你可以問混帳刪除名爲tools舊目錄:

    git rm -r tools 
    git commit 
    
  • 另一種方法是git add -u,檢查你的工作目錄的當前狀態,並更新以反映這一狀態。所以git會意識到任何被刪除的目錄。

    # From the root of your repo 
    git add -u . 
    git commit 
    
  • 和將來,使用git mv來執行,而不是直接在殼或命令提示進行重命名的重命名。儘管如果git在刪除和添加之間發現顯着的相似性時足夠聰明,可以跟蹤移動,但我更願意明確告知git移動操作。

    git mv tools Tools 
    git commit 
    
+0

我無法制作'git rm',因爲我沒有這個目錄,所以我在Windows上(因此不區分大小寫的文件系統)。 'git add -u'什麼都不做。 'git mv'再次不起作用,因爲我沒有這個目錄。 – user14416 2013-04-22 00:22:47