Если вы действительно смотрите на производительность, то используйте numpy!
Вот полный блокнот как сущность на github со сравнением между списком, numpy и pandas.
https://gist.github.com/denfromufa/2821ff59b02e9482be15d27f2bbd4451
Вы можете сделать это очень эффективно в своем текущем репо:
Начиная с:
# ...---o---H HEAD, master
do
git cat-file -p master \
| sed '1,/^$/d' \
| git commit-tree HEAD^{tree} \
| xargs git branch public
, чтобы получить
# ...---o---H HEAD, master
#
# H' public <-- H's exact content and commit message, no history
Затем,
git merge -s ours public
# ...---o---H---I HEAD, master <-- gives later merges an accurate base
# /
# H'' public
git remote add public -t public its://u/r/l # <-- '-t public` sets default push
git push public
, и все готово.
(править: добавлено -t public
безопасное воспроизведение, поэтому вам нужно сделать что-то явное для нажатия непубличная история)
Я бы рекомендовал создать новый публичный git repo и скопировать все соответствующие файлы в этот новый проект (на данный момент мы будем называть его «PUBLIC»). Сделайте свою первоначальную фиксацию PUBLIC. Это дает вам отправную точку без истории для вашего публичного репо.
Как только вы это сделаете, в будущем все ваши фиксации, которые вы хотите публиковать, должны быть переданы PUBLIC.
Теперь ваше существующее частное репо может настроить новый пульт дистанционного управления, который выталкивает из PUBLIC. Любые изменения, которые вы хотите сделать, которые должны появиться в публичном репо, должны быть переданы PUBLIC, а затем объединены в ваше частное репо.
имеют чистую открытую кодовую базу (все коммиты сжаты в одну)
blockquote>Просто удалите текущий .git, git init, добавьте все и совершите: 1 совершите «раздавливание» всего else.
сохранить частное репо
blockquote>Да, у вас даже есть услуги хостинга, такие как Bitbucket , предоставляющие бесплатные частные репозитории.
и работать с публичным репо и «слить» при необходимости на личном без каких-либо конфликтов
blockquote>Если у вас нет каких-либо одновременных изменений, и слияние должно быть либо тривиальным, либо ускоренным. Это будет сделано в локальном клоне частного репо, которое затем будет перенесено на его собственный сервер хостинга.