2015-06-11 2 views
0

В настоящее время я работаю над проектом, в котором есть каталог с большим количеством небольших файлов внутри него, которые не меняются. Я знаю, что могу добавить его в git игнорировать, но я все еще хочу их в своем репо. Будет ли zip-каталог сокращать время, необходимое для вытягивания/слияния, и если да, то есть ли другие способы сократить процесс?Git check compare is slow

+1

Я бы не рекомендовал эту директорию, Гит уже достаточно эффективен. Какова фактическая проблема, которую вы пытаетесь решить? http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem – Chris

+0

Замените каталог, чтобы сократить время, необходимое для вытягивания/слияния, и если да, то есть ли другие способы сократить процесс? Другими словами, я хочу сократить процесс, который требуется для git для сравнения 100 000 файлов, которые у меня есть в каталоге. –

+0

Зачем нужна плохая идея? –

ответ

1

Git достаточно быстр.

Если вы хотите, чтобы они были в вашем репозитории, вам придется добавлять, фиксировать и нажимать их один раз. Если они не изменятся, они больше никогда не будут перенесены и не будут влиять на тяну и, более того, время слияния.

Это потому, что git хранит снимки файлов, а не их diff.

enter image description here

Скажем, у вас есть файл. Он имеет sha1 abcdef123456. Представьте себе разговор между локальными и удаленными РЕПО:

Первый толчок:
Local: «У меня abcdef123456 здесь!»
Пульт дистанционного управления: «Пожалуйста, передать его мне»

Следующая выталкивает Local: «У меня abcdef123456 здесь!»
Пульт дистанционного управления: «Хе-хе, это скучно. У меня это уже есть».

+0

Когда я использую pull, требуется длительное время b/c этих файлов. он пытается сравнить каждый с исходными файлами. –

+1

@SariRahal хорошо, он должен сравнивать только коды sha1. Они не пересчитываются, и файлы не различаются при нажатии. –