Git远程分支重用大文件

时间:2010-12-12 16:09:08

标签: git

您好 我有2个本地分支 - mastertest

我将20MB文件添加到分支master并将其推送到远程master

现在我将master合并到test。并将test推送到远程test

现在我必须再次上传20MB。无论如何围绕这个问题?

两个远程分支都位于同一个遥控器上。

(master) touch hugefile
(master) git add hugefile 
(master) git commit -m "huge"
(master) git push origin master  (upload 20MB)
(test)   git merge master
(test)   git push origin test       (< upload 20 MB again)

检测为文本autocrlf=True二进制文件可能存在问题。

我通过强制git将* .pdf文件检测为二进制文件来解决这个问题。

http://www.bluishcoder.co.nz/2007/09/git-binary-files-and-cherry-picking.html

1 个答案:

答案 0 :(得分:2)

Git不会再次上传文件。文件内容将作为blob存储在多个提交可指向的存储库中(通过。树)。执行新提交时,为其创建的树对象将指向您第一次添加的文件。在您的特定情况下,合并只会将test分支移动到与head相同的位置,并在您推送时将该信息发送回服务器。根本不会添加任何文件。