Git удаленная ветвь повторного использования огромных файлов - PullRequest
1 голос
/ 12 декабря 2010

Привет У меня есть 2 местных филиала - master и test.

Я добавил 20МБ файл в ветку master и перенес его на удаленный master.

Теперь я объединяю master в test. и нажал test на пульт test.

Теперь мне нужно снова загрузить 20 МБ. В любом случае вокруг этой проблемы?

Обе удаленные ветви находятся на одном пульте.

(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 Ответ

2 голосов
/ 12 декабря 2010

Git не будет загружать файл снова.Содержимое файла будет храниться в хранилище в виде BLOB-объектов, на которые могут указывать множественные коммиты (через деревья).Когда вы делаете ваши новые коммиты, созданные для них объекты дерева будут указывать на файл, который вы добавили в первый раз.В вашем конкретном случае объединение просто переместит ветку test в ту же позицию, что и head, и отправит эту информацию обратно на сервер при нажатии.Там не будет никакого добавления файлов вообще.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...