Git远程分支重用大型文件
嗨 我有两个本地分支-Git远程分支重用大型文件,git,Git,嗨 我有两个本地分支-master和test 我将一个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 (u
master
和test
我将一个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)
(主控)触摸雨果文件
(主)git添加hugefile
(主)git提交-m“巨大”
(主机)git推送源主机(上传20MB)
(测试)git合并主机
(测试)git推送源测试(<再次上传20 MB)
解决方案
检测为文本的autocrlf=True
和二进制文件可能有问题
我通过强制git将*.pdf文件检测为二进制文件来解决这个问题
Git将不会再次上载该文件。文件内容将作为blob存储在存储库中,多个提交可以指向该存储库(通过.trees)。执行新提交时,为其创建的树对象将指向您第一次添加的文件。在您的特定情况下,合并只需将
test
分支移动到与head
相同的位置,并在推送时将该信息发送回服务器。将不会添加任何文件 你确定它真的在重新上传吗?我认为git应该足够聪明,能够传输关于更改内容的信息,而不是重新发送整个文件。可能是一个git获取——所有的都丢失了。