2012-12-26 96 views
13

我們在工作中爲一個項目安裝了git,我正在與其他同事一起玩。git .BACKUP .BASE .LOCAL .REMOTE文件

我一直在解決一些編排的合併衝突,但我最終得到了一堆額外的文件,我不想要。它們是.BACKUP .BASE,.LOCAL和.REMOTE文件。基於這些名字,他們似乎來自解決我的合併。我得到了一些確切的文件名是:

  • index.shtml.BACKUP.16908.shtml
  • index.shtml.BASE.16908.shtml
  • index.shtml.LOCAL.16908.shtml
  • index.shtml.REMOTE.16908.shtml
  • 我也有另一套以上的文件,但在0.21384結束,從另一個合併企圖

假設是否有可能不保存這些文件?正如你可以想象的,現在有9個版本的index.shtml是很煩人的。我正在使用git的內置合併工具tortoisemerge。

我碰到類似的東西,運行git log,它顯然創建了一個「df」文件。通過將它包含在.gitignore文件中,這很容易處理。不過,我不想在整個項目中累積像上面那樣的文件。

+2

這可能是特定於tortoisemerge的東西。 Tortoisemerge *不是*標準Git發行版的一部分。 –

+0

因此,當我運行git mergetool時,git肯定已經認識到我已經安裝了龜,並將其作爲一個選項包含在了我的toolbox中? –

回答

2

在Tortoise中,去設置並取消選中「備份原始文件」(一次性操作) 下次打開它時,您可以進行常規合併,烏龜會創建.base,.backup,.local,.remote,但是當你保存合併時,龜龜會自動刪除這些文件。

+0

請注意,這隻適用於烏龜,而不是一般的git。 – Jeremy

7

正如其他答案所提到的,這些文件似乎是在解決衝突時由Git的合併工具創建的。即使衝突解決後,默認的Git設置也會將這些額外文件留在後面,但當前版本的Git允許您設置config variable以使Git在完成合並後始終刪除這些臨時文件。

你可以用命令來執行此Git中猛砸......

git config --global mergetool.keepBackup false 

--global參數是可選的,當然,和控制該設置是本地到該用戶(全球)或當前庫。

更多信息here。向下滾動到底部的TEMPORARY FILES部分。


注:我有一個類似的問題,最後在這裏。雖然目前的答案最終導致我找到了正確的解決方案,但我並不認爲它回答了這個問題,並且最新的答案是按順序排列的。