Git in Sky: Поддержка и оптимизация серверов
129 subscribers
223 photos
2 videos
1 file
68 links
Помогаем компаниям с миграцией IT-инфраструктур в облака

Ускоряем сайты

Обеспечиваем производительность, отказоустойчивость, безопасность и масштабируемость любого высоконагруженного web-проекта

Внедряем DevOps практики
Download Telegram
Как и обещали, а вот и первый пост

💾 Обзор новой версии Git 2.45

В этом релизе команда разработчиков действительно постаралась! В новой версии множество полезных функций и оптимизаций, которые значительно облегчат жизнь и сделают работу с Git ещё более удобной и эффективной.

1) Новый бэкенд "reftable" для более эффективного хранения ссылок на ветки и теги.

2) Переход на SHA-256: добавлена поддержка новых идентификаторов объектов.

3) Улучшенная диагностика: git rev-list теперь показывает отсутствующие объекты.

4) Новая команда git reflog list для удобного просмотра всех reflog-ов.

5) Настройка префиксов в git diff: задавайте собственные префиксы для вывода.

6) Параметр core.commentString: используйте любые строки для комментариев в коммитах.

7) Комментарии в git config: добавляйте пояснительные комментарии прямо в .gitconfig.

8) Опция --empty в git cherry-pick: автоматически удаляет избыточные коммиты.

9) Обновление git checkout -p: поддержка символа "@" как синонима имени "HEAD".

Полный обзор с деталями и примерами по ссылке: https://gitinsky.com/git-new-version-2-45

#Git #проGit #обновленияGit
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍1
💾 Подготовили для вас подробнейший обзор наиболее распространенных уязвимостей в Git

С момента своего создания Git был разработан с акцентом на удобство совместной работы над кодом, а не для обеспечения высокого уровня безопасности. Хотя этот инструмент мощный и функциональный, он увы не безупречен. Уязвимости могут привести к серьёзным последствиям, таким как компрометация системы и утечка данных — и это лишь часть возможных проблем.

В статье мы разобрали уязвимости, начиная от самых критичных до менее значимых. Кроме того, вы найдете рекомендации по безопасности, которые помогут минимизировать риски и защитить ваш проект.

Полный обзор доступен по ссылке⏩️️️️️https://gitinsky.com/top-uyazvimostey-git

#Git #проGit
Please open Telegram to view this post
VIEW IN TELEGRAM
31
💾 Git шпаргалка

Если вы давно пытались освоить Git, но остаются непонятные места или точки применения, у нас для вас приятная находка!

Learn Git Branchingмаксимально простое и понятное интерактивное руководство, где вы сможете освоить как основы, так и продвинутые техники.

Идеально подойдет новичкам и тем, кто хочет освежить свои знания.

#Git
Please open Telegram to view this post
VIEW IN TELEGRAM
3
🐱 Почему алиасы в Git — это must-have?

Представьте, что вместо длинных и сложных команд в Git вы можете использовать всего несколько символов. Алиасы делают это возможным. Они не просто упрощают команды — они освобождают вас от рутинной работы, автоматизируя повторяющиеся задачи.

Как настроить алиасы?

Шаг 1: Откройте конфигурационный файл
Git

git config --global -e


Шаг 2: Добавьте нужные алиасы

git co — Переключение между ветками
git config --global alias.co checkout

git br — Список веток
git config --global alias.br branch

git ci — Создание коммита
git config --global alias.ci commit

git st — Состояние репозитория
git config --global alias.st status

git lg — Лог коммитов в виде графа
git config --global alias.lg "log --oneline --graph --decorate"

git last — Последний коммит
git config --global alias.last "log -1 HEAD"

git amend — Изменение последнего коммита
git config --global alias.amend "commit --amend"

git unstage — Удаление файлов из staged area
git config --global alias.unstage "reset HEAD"

git undo — Возвращение к состоянию последнего коммита
git config --global alias.undo "reset --hard HEAD"

git difftool — Использование внешнего инструмента для сравнения изменений
git config --global alias.difftool "difftool"

git pullall — Обновление всех локальных веток из удалённых репозиториев
git config --global alias.pullall "pull --all"

git graph — Полный граф коммитов, включая все ветки
git config --global alias.graph "log --oneline --graph --decorate --all"

Всего несколько минут, и вуаля — алиасы в Git готовы к работе! Этот небольшой, но мощный трюк поможет вам сэкономить массу времени и сделать работу с репозиториями более приятной.

#Git #лайфхакиGit
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍2
🐱 Откаты и восстановление в Git: как исправить ошибки и вернуть прошлые версии кода?

Как бы тщательно мы ни планировали разработку, ошибки неизбежны. Однако Git предоставляет все необходимые инструменты, чтобы эти ошибки не стали катастрофой. Важно лишь правильно пользоваться возможностями для отката и восстановления. В этом посте мы разберём, как эффективно откатываться назад, восстанавливать старые версии кода и сохранять контроль над проектом.

🔵Исправление без ущерба для истории

В любой команде прозрачность — это ключ к успешной разработке, поэтому git revert является таким важным инструментом.

Когда использовать: когда нужно исправить ошибочный коммит, не нарушая общую историю изменений. Это особенно важно, если другие члены команды уже начали работать на основе этих коммитов.

Как работает: эта команда создаёт новый коммит, который полностью отменяет действия предыдущего. История остаётся линейной и понятной, что облегчает отслеживание изменений и поиск ошибок в будущем.

Наш совет: git revert — ваш друг в ситуациях, когда каждый коммит важен. Не стесняйтесь использовать его, если ошибка уже ушла в продакшн или стала частью публичной ветки.

🔵Полный откат к стабильной версии

Бывают моменты, когда изменения в проекте заходят в тупик. В таких случаях git reset позволяет вернуться к известному стабильному состоянию.

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

Режимы:

--soft
Убирает коммиты, но оставляет изменения в staging area. Отлично подходит, если вам нужно переделать работу без переписывания всей истории.

--mixed
Убирает коммиты и перемещает изменения в рабочую директорию. Вы сможете повторно сделать коммит после доработки.

--hard
Полностью очищает коммиты и изменения.

Наш совет:
используйте с осторожностью, так как это действие необратимо и может удалить важные данные.

🔵Временной переход между версиями

Иногда нужно вернуться к определённой версии кода, чтобы понять, где всё пошло не так, или проверить работоспособность старой реализации. В этом помогает git checkout.

Когда использовать: когда нужно оперативно переключиться на другую ветку или временно откатиться к определённому коммиту.

Как использовать: git checkout <commit> позволяет вернуться к конкретной версии проекта, сохраняя текущее состояние файлов. Переключение между ветками (git checkout <branch>) также позволяет быстро перейти к нужному рабочему окружению.

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

Рекомендации 👇

Не пренебрегайте бэкапом: даже самый опытный разработчик может ошибиться. Создание временной ветки или резервной копии перед серьёзными операциями — это хорошая привычка, которая спасёт вас от головной боли.

Регулярно коммитьте: чем чаще вы фиксируете изменения, тем легче будет вернуться к нужной версии. Дробите большие задачи на меньшие и делайте коммиты почаще.

Экспериментируйте в отдельных ветках
: если вы не уверены в своих действиях, создайте новую ветку и экспериментируйте там. Это поможет сохранить основную ветку в стабильном состоянии.

#Git #проGit #лайфхакиGit
Please open Telegram to view this post
VIEW IN TELEGRAM
👍43🔥1
🐱 Как справляться с большими файлами в Git: использование Git LFS и других методов

Д
аже самый хорошо организованный проект может замедлиться, если вы не обратите внимание на бинарные файлы и их влияние на производительность. Git прекрасно справляется с текстовыми данными, но когда в игру вступают изображения, видео или любые другие крупные двоичные объекты, стандартные подходы к управлению версиями становятся неэффективными. Здесь на сцену выходит Git Large File Storage (LFS).

Одна из главных особенностей Git — это полное сохранение истории изменений. Это великолепно работает для кода, но крупные бинарные файлы быстро увеличивают размер репозитория, ухудшая его производительность и делая такие операции, как клонирование, длительными и ресурсоёмкими.

Git LFS был разработан специально для решения этой проблемы. С его помощью вместо хранения самих больших файлов в репозитории, Git сохраняет лишь ссылки на них. Это позволяет хранить файлы за пределами основного репозитория, избегая его раздутия.

Настройка
Git LFS 👇

Шаг 1: Установите
Git LFS
Ес
ли вы ещё не работаете с Git LFS, его можно установить одной командой:

git lfs install

Шаг 2: Настройка отслеживания файлов

Определите, какие файлы должны быть отслежены с помощью Git LFS. Например:

git lfs track "*.bin"

Шаг 3: Добавление и коммит файлов
После добавления файлов в репозиторий, Git LFS автоматически обработает их, сохранив только ссылку

git add large-file.bin
git commit -m "Add large binary file"


Когда вы добавляете и коммитите файлы, Git LFS автоматически заменит файл на ссылку, а сам файл будет сохранён в облачное хранилище. При клонировании репозитория LFS автоматически загрузит нужные версии файлов.

📌Альтернативы

Git LFS — это лишь один из методов. Есть и другие проверенные подходы:

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

Внешние хранилища
Интеграция с такими сервисами, как AWS S3, позволит вам хранить тяжелые данные вне репозитория, сохраняя рабочий процесс с минимальными изменениями.

Оптимизация данных

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

#Git #проGit #лайфхакиGit
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍2🔥1