2014-12-18 57 views
0

git命令將歷史文件大小保持在最小值是什麼?保持git歷史文件大小爲最小值

由於平臺問題,我需要在每次構建和重新構建Java Web應用程序時提交WAR文件。在構建過程中,我可以很容易地將它「添加」到git中,它會被刪除並重新創建,導致它成爲不同的文件,甚至是相同的文件名。

現在我想要做的就是將歷史記錄的大小保持在最小,我的WAR大小約爲60MB,並且每次增長一點點。我不想爲每個提交的60MB文件創建一個新版本。

要做到這一點應該做些什麼?

+0

這是否意味着你不想保留舊版本的文件? –

+0

是的那個特定的文件。此外,因爲git repo專門用於部署而不是代碼歷史記錄,所以可能不需要git歷史記錄。這種情況是它的Openshift,並部署和應用程序,它通常需要通過'混帳推' – xybrek

+1

看看http://stackoverflow.com/questions/540535/managing-large-binary-files-with-飯桶。它討論了所謂的git-annex(這對我來說是新的)。不要只看看接受的答案 – kdopen

回答

0

如果您不想保留war文件的歷史記錄,可以從歷史記錄中完全刪除war文件。

git filter-branch --tree-filter 'if [ -f <old-war-file> ] 
then 
    rm <old-war-file> 
fi' --force HEAD 

然後,您可以提交新的war文件,該文件不會有任何關聯的歷史記錄。

git add <my-new-war-file> 
git commit -m <commit-msg> 

Here's another way to remove the file from history.

你需要在每次提交一個新的戰爭文件的時間來做到這一點。