我有一個使用Git的項目,我已經從主分支中重新命名目錄。Git:重命名分支中的目錄
分支中的重命名按預期工作。當我切換回主分支時,目錄具有其原始名稱,但也有一個空目錄樹,其名稱已更改爲分支中的名稱。
這是預期的行爲? 我錯過了一個步驟嗎?
我只是需要刪除這些空白的目錄樹,因爲它們出現?
我知道Git沒有跟蹤空目錄,這可能是一個因素。
我現在的工作流程是:
# create and checkout a branch from master
/projects/demo (master)
$ git checkout -b rename_dir
# update paths in any affected files
# perform the rename
/projects/demo (rename_dir)
$ git mv old_dir new_dir
# add the modified files
/projects/demo (rename_dir)
$ git add -u
# commit the changes
/projects/demo (rename_dir)
$ git commit -m 'Rename old_dir to new_dir'
我得到了這一點,並如預期的一切:
# old_dir has been renamed new_dir
/projects/demo (rename_dir)
$ ls
new_dir
問題是當我切換回主:
/projects/demo (rename_dir)
$ git checkout master
# master contains old_dir as expected but it also
# includes the empty directory tree for new_dir
/projects/demo (master)
$ ls
old_dir new_dir
new_dir是一個空目錄樹,所以git不會跟蹤它 - 但在那裏很難看。
FWIW,我沒有在1.6.3.1中得到這種行爲:new_dir在master的最終結賬後已經消失。你正在使用哪個版本? – 2009-08-11 21:31:44
我正在使用msysgit 1.6.4 – jmohr 2009-08-11 21:54:12
new_dir中是否有隱藏未跟蹤的*文件? – 2009-08-12 05:02:44