Одна команда Git уменьшила хранилище вдвое, и мой сервер хихикает

задняя часть Git

Новый год не строитьВеб-сайт "Дорога к продвинутым программистам Java"Ну, Git используется как инструмент синхронизации между облачным сервером и удаленным репозиторием GitHub.

Как разработчик, я считаю, что все знают о важности Git. Git — это распределенное программное обеспечение для управления версиями, первоначально разработанное Линусом Торвальдсом и выпущенное под лицензией GPL в 2005 году.

YYDS

Блеск Git в этот раз не взорвется.Ведь 7 статей взорваны, а взорвать его реально нельзя!

Любой, кто полагается только на Git, может быть богом, а Линус также является разработчиком ядра Linux, что является просто высшим состоянием бога.

Сегодня это побочная история Git, и я познакомлю вас с мощной командой ——git sparse-checkout, что оставило как минимум половину места для хранения на моем облачном сервере.

1. Большая проблема с использованием Git

Прежде всего, позвольте мне сказать вам, день назадИнтернет-сайт "Дорога к продвинутым программистам на Java", количество посещений уже превысило 1000.

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

1000 раз, возможно, не стоит упоминать, но 10 миллионов — это всего лишь 10 000 1 000. За каждый небольшой прогресс, достигнутый вторым братом, мы должны благодарить всех за их поддержку.

ВидимыйПредыдущийПроцесс сборкиМои друзья должны все знать, я клонировал удаленный репозиторий на GitHub на облачном сервере, а затем выполнял его через запланированное задание панели пагодыgit pullКоманда извлекает последний контент из GitHub, а затем передаетNginx-серверВеб-сайт построен, а содержимое веб-сайта получено путем рендеринга файла md через docsify.

непосредственныйgit pullСинхронизировать каталоги code и images на GitHub с облачным сервером будет бессмысленно, но на самом деле каталоги code и images не нужно синхронизировать.

Что именно происходит?

Вы можете сначала взглянуть на структуру каталогов моего репозитория GitHub.

  • docs — это каталог документации, содержащий md-файлы, и здесь находятся все рукописи учебных пособий.
  • коды — это каталог кода, который содержит исходный код учебника.
  • images — это каталог изображений, который содержит соответствующие рисунки рук из учебника.

Таким образом, вы можете использовать GitHub для создания бесплатных карт, а также вы можете бесплатно использовать глобальное ускорение CDN jsDelivr, что не слишком круто!

Например, в папке с изображениями есть изображение логотипа logo-01.png:

Если вы используете исходный путь к репозиторию GitHub для доступа, скорость будет очень низкой!

GitHub.com/IT Ван Эр/до…

После использования jsDelivr для ускорения оно другое, скорость летит!

CDN.JS Deli VR.net/Planning/IT Ван Эр…

Кратко подытоживая правильное использование GitHub в качестве карты, можно выделить два:

  • Создайте репозиторий GitHub в качестве хранилища изображений, загрузите и отправьте изображения в репозиторий.
  • Если вы хотите использовать изображение с изображением GitHub, замените ссылку на

https://cdn.jsdelivr.net/gh/{user}/{repo}/图片路径

Друзья, которые платят за Qiniuyun или Aliyun Tubed, могут захотеть попробовать этот метод, и мы никогда не потратим ни копейки напрасно.

Другими словами, все изображения на веб-сайте «Дорога продвинутого программиста Java» загружаются через хранилище изображений GitHub, и нет необходимости извлекать изображения из репозитория GitHub на облачный сервер. Вы должны знать, что пространство облачного сервера чрезвычайно дорого, и мы должны экономить пространство, которое можно сэкономить.

2. Большой сюрприз при изучении Git

Итак, сегодня утром я подумал, как я могу сэкономить это дорогое место?

Я прогуглил много постов, большинство из них беспорядочны и бесполезны, и идей почти нет.

Наконец, просмотрите официальное руководство по Git (см. такжеPro Git) и нашел классную команду:git sparse-checkout, который может помочь нам синхронизировать только те каталоги и файлы, которые нам нужны при извлечении удаленных репозиториев..

Подробнее о том, как его использовать, смотрите в официальной документации:

git-triplegate.com/docs/git-tickets…

Но не надо, хххх, давай драться напрямую.

Первый шаг, черезgit remote add -f orgin git@github.com:itwanger/toBeBetterJavaer.gitКоманда для извлечения репозитория из GitHub.

Второй шаг, включите sparse-checkout и инициализируйте

После загрузки в репозиторий выполнитеgit config core.sparseCheckout trueкоманда для включения sparse-checkout.

затем выполнитьgit sparse-checkout initинициализация.

Третий шаг, используйте sparse-checkout, чтобы получить каталог хранилища, который нам нужен.

Например, если мы хотим получить только каталог документов, мы можем выполнитьgit sparse-checkout set docsЗаказ.

Если вы используете sparse-checkout в первый раз, вам также необходимо выполнитьgit pull orgin masterКоманда вытягивается один раз.

Четвертый шаг – проверить, насколько он эффективен.

может быть выполненls -alкоманда, чтобы подтвердить, что sparse-checkout действует.

Как показано на рисунке, он действительно извлекается только в каталог docs.

Если вы хотите получить другие файлы или каталоги, вы можете передатьgit sparse-checkout addкоманду добавить.

Это свершилось,Настраиваемая синхронизация между удаленным хранилищем и хранилищем облачных серверов.

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

Я сравнил, удаленный склад около 145 М, а картинка занимает 72 М, что экономит половину места для хранения.

Как отключить git sparse-checkout?

Это также просто, просто выполнитеgit sparse-checkout disableкоманда сделает.

Как видите, все те каталоги и файлы, которые нам не нужны, вернулись.

Что, если я снова включу его?

Это также просто, просто выполнитеgit sparse-checkout reapplyкоманда сделает.

Краткое резюме: если вы хотите вытащить удаленное хранилище, которое достаточно велико, чтобы заполнить ваш жесткий диск, локальным, и вам нужна только часть каталогов и файлов, то вы можете попробовать.git sparse-checkout.

3. Немного размышлений после использования Git

Я должен сказать, что Git действительно мощен. Всего одна команда решила проблемы, которые преследовали меня в течение дня.Мой облачный сервер с 80G дисковым пространством может бороться еще 3 года, и мне больше не нужно об этом беспокоиться.

Гит действительно классный, Линус действительно классный, Бог заслуживает быть Богом!

Всем привет, я второй брат с болью в печени на выходных!

После того, как вчерашняя статья была опубликована, мой хороший друг G-брат оставил сообщение и сказал: «Второй брат не собирается развлекаться?» Подразумевается, что второй брат действительно слишком жаден, и слишком безжалостно отпустить его. даже в выходные.

Основная причина в том, что у меня наконец-то появился последовательный период времени, и у меня есть много вещей, которые я хочу сделать. Например, для записи видео я на этот раз изменил стиль, попробовал добавить фоновую музыку и попытался найти много материалов для обогащения видео.

Студенты-компьютерщики могут перейти по ссылке ниже, чтобы узнать, как решать вопросы на этих зимних каникулах. Если вы считаете, что видео полезно, вы можете также поддержать станцию ​​B второго брата в 2022 году и держать кулаки. Так называемая искра, вы должны зажечь ее.

Адрес видео:Пропорция.com/video/BV1v Любовь…

Завтра еще один рабочий день в 2022 году. Я надеюсь, что все в рабочей группе смогут пойти дальше!


Меня ничто не остановит - кроме цели, даже если на берегу розы, тени и тихие гавани, я не лодка.