2014-04-24 45 views
1

我物理刪除了一個文件,並創建了一個新的名稱在別的地方。我不希望舊文件中的歷史記錄繼承​​到新文件。我想要將舊文件視爲已刪除,並將其他文件視爲新文件。git檢測移動,當它不應該

如果git在我將這兩個文件放在舞臺上時選擇這些動作,我該如何告訴它不會自動檢測這些文件的動作?

我在Windows上使用git 1.9.2。

回答

1

在移動操作中,除非您使用--follow標誌,否則git不會跟隨歷史記錄。就Git而言,由於其內容基本相同,因此這是一個「舉動」。

有一個什麼樣的「移動」是here

+0

我的理解是,一個重命名真的就在那裏解決衝突和歷史的持久性一個很好的總結。如果我不想要這些,爲什麼GIT仍然將這兩個文件標記爲相關的?至少,基於對VCS「移動」的普遍期望,這是令人困惑的。 –

+2

'git'根本不存儲「移動」或「重命名」 - 它只是存儲工作樹的當前狀態。它檢測移動/重命名/複製操作,當你做各種事情,如'git日誌'。特別是'git log'有許多選項可以用來調整甚至禁用檢測(例如'--no-renames','-B','-M','-C' ...) – twalberg

+0

@twalberg我認爲那是一個缺陷,因爲想象一下,如果這個新文件的目的是要有一個清晰的歷史記錄,那麼一個月後我確實打算讓它被移動。如果我做了「追隨」,我會看到2個動作:最老的一個是它本不應該記錄的那個,文件應該是全新的......而最新的動作是合法的舉動。這裏有含糊之處。一年後我怎麼知道這個文件沒有被移動兩次? GIT的語義可能並不重要,但它對人們很重要。 –