Как стать автором
Поиск
Написать публикацию
Обновить
34

Git *

Система управления версиями файлов

Сначала показывать
Порог рейтинга
Уровень сложности

GitLab выкатил версию 15.8. Рассказываем, что нового

Время на прочтение3 мин
Количество просмотров11K

Привет! Я Максим Рязанцев, DevOps-специалист в AGIMA. На днях GitLab выкатил новую версию — версию 15.8. Мы с коллегами внимательно ее изучили, разобрались, что нового. И теперь решили поделиться списком улучшений. Тем более, что список внушительный. Правда, самые заметные изменения в касаются только облачной Ultimate-версии. Но мы-то знает, что со временем фичи с облака мигрируют в Self-Managed-версию. Так что коротко расскажем обо всех новинках.

Читать далее

Git для ленивых: обзор консольной утилиты Lazygit

Время на прочтение7 мин
Количество просмотров33K

При работе с Git-репозиториями часто нужно выполнять множество одинаковых действий: фиксировать изменения, переключать ветки, синхронизировать репозитории. Всё это требует ввода соответствующих команд в терминале. Когда частота ввода повышается до утомительной, на помощь могут прийти различные GUI-инструменты. В статье расскажу об одном из них — Lazygit, легковесном консольном клиенте для Git, который облегчает и упрощает работу с репозиториями.

Читать далее

Топ-15 шпаргалок для программистов и WEB-разработчиков

Время на прочтение4 мин
Количество просмотров41K

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

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

Хватит разговоров, давайте перейдем к делу.

Читать далее

Настройка badges в репозиториях Gitlab, с помощью Gitlab API, в CI/CD

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров9.6K

Простая визуализация версий установленных релизов, результатов сканирования, версии интерпретатора и прочего с помощью Gitlab Badges. Создание Gitlab Badges с помощью Gitlab API и Gitlab CI.

Читать далее

Резервное копирование репозиториев с github, gitlab

Время на прочтение1 мин
Количество просмотров10K
main

Резервное копирование репозиториев с git серверов на основе github и gitlab по токену. Скрипт скачивает все Ваши репозитории доступные по токену и архивирует их. Давно хотел написать такой инструмент т.к. использую и те и те сервера в работе и личных целях. У меня полно старых проектов которые хранятся только на git, если с ним что-то случится, то их уже не будет.

Читать дальше →

Git: Игнорирование отслеживания файлов, которые уже есть в удаленном репозитории

Время на прочтение2 мин
Количество просмотров13K
Если внести файл в .gitignore, то он не будет отслеживаться гитом лишь в том случае, если этого файла нет в удаленном репозитории.

Но если в репозитории уже есть (к примеру конфиги сайта), а мы не хотим, чтобы наши локальные конфиги отслеживались, то можно выполнить команду:
git update-index --assume-unchanged application/config/database.php

либо всю папку
git update-index --assume-unchanged application/config/*
Читать дальше →

Первая попытка gitlab-ci на фронте

Время на прочтение4 мин
Количество просмотров10K

Эта статья о сценарии развертывания фронта, через инструменты Gitlab-CI.


Я использую GitLab-CI, а носителем исполнения скриптов GitLab Runner (об этом позже) пусть будет простой дроплет от DO

Читать дальше →

Как мы интегрировали и настроили для работы Conventional Commits в PHPStorm

Время на прочтение3 мин
Количество просмотров3.5K

Поднялся вопрос стандартизации коммитов в команде. До этого были такие правила, мы пишем номер задачи и через тире описание того, что было сделано кратко. Номер задачи берется из номера issue. Например: #1 - реализован функционал сборки прода. Но, это надоело и стало как-то неудобно, когда у нас есть четкое деление задач на фиксы, фичи и так далее.

Нашли Conventional Commits и попробовали его на тестовом репозитории, понравилось. Решили внедрить это в команду, но столкнулись с тем, что люди не всегда делают коммиты правильно, а значит нужна какая-то валидация.

В нашей команде принято по максимуму IDE и его возможности. То есть, коммиты мы делаем не через консоль, а через встроенные утилиты. Поэтому, сразу пошли искать плагины, которые есть в PHPStorm и нашли вот эти 2 важных плагина: Conventional Commit и Git Commit Template. После их установки видим новые кнопки в окне коммита:

Читать далее

Git for Windows: вклад в проект с помощью патча

Время на прочтение15 мин
Количество просмотров9.3K

Существуют разные способы совместной работы над исходным кодом проекта. Так получилось, что сначала я познакомился с тем, как работать с командой «git push», посылая свои изменения в удаленный репозиторий, и как создать на сайте «GitHub» форк для отправки из него запроса на принятие изменений («pull request», сокращенно «PR»). И только после этого я узнал о том, что существует способ обмена изменениями в код с помощью файлов-патчей.

В этой статье я экспериментирую с командой «git diff», создаю тестовый проект и файл-патч из него в программах-оболочках «PowerShell» версии 7 и «Git Bash». Клонирую проект и применяю полученный файл-патч с помощью команды «git apply».

В последней части статьи я показываю, как можно применить программу «Git» для создания файла-патча с изменением в исходный код известного веб-приложения «WordPress». В конце этого примера я создаю сообщение об ошибке (ticket) в системе управления проектом «WordPress» и прикладываю к нему свой файл-патч.

Читать далее

Настраиваем Gitlab CI для сборки Android-проекта

Время на прочтение5 мин
Количество просмотров13K

Привет! Меня зовут Даша, я Android-разработчик в команде онлайн-кинотеатра PREMIER и я хочу с вами поделиться историей как мы начали приводить в порядок Gitlab CI скрипты :)

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

Погнали!

DIY-метаданные: как мы собрали велосипед, который везет на себе технологические данные компании

Время на прочтение9 мин
Количество просмотров3K

Привет, Хабр! Меня зовут Ткачев Константин, и я работаю архитектором в Леруа Мерлен.

В этой статье я хочу рассказать, как мы смогли, используя только open-source, построить систему работы с метаданными, которая позволила:
- централизовать и унифицировать описания данных, используемых в компании;
- автоматизировать процессы загрузки данных в корпоративное хранилище — платформу данных;
- и сделать еще многое-многое другое…

А если добавить к этому, что мы сделали это быстро — и в итоге за пару месяцев получили работающую систему, то станет ясно, почему мы решили поделиться этим опытом с пользователями Хабра.

Читать далее

CI/CD для AWS Lambda через GitHub Actions

Время на прочтение4 мин
Количество просмотров6.7K

Сегодня я расскажу, как без лишних усилий настроить CI/CD pipeline из GitHub в AWS Lambda с помощью GitHub Actions. Логика такая — когда мы пушим изменения в main-ветку репозитория на GitHub они прорастают в AWS и обновляет продовую версию функции.

Читать далее

Gitea + Drone + Nginx + Portainer. Пошаговое руководство по деплою аналога github на своём железе

Время на прочтение8 мин
Количество просмотров21K

В данном туториале я расскажу вам как можно задеплоить gitea на своём железе с использованием docker-compose подключить drone, для возможности автоматизации тестирования и доставки собственных приложений, настроить reverse-proxy через nginx для доступа через сеть и включить portainer для мониторинга запущенных контейнеров.

Читать далее

Ближайшие события

GitLab self-instance on RedOs

Время на прочтение14 мин
Количество просмотров10K

Представим ситуацию - вы - прошаренный разработчик-сисадмин, просыпаетесь утром, пьёте кофе, на улице поют птички, ничего не предвещает беды. Как вдруг, откуда ни возьмись, появляется босс и требует, чтобы вы срочно подняли GitLab на корпоративном сервере. А на сервере стоит RedOs. Первое что приходит в голову: "А давайте переустановим на что-нибудь другое?" Но за такое вас уволят. Что ж...

Поднять GitLab!

Git for Windows: работа с параметром core.autocrlf

Время на прочтение9 мин
Количество просмотров31K

Одна из настроек программы (системы управления версиями) «Git» называется «core.autocrlf». В этой статье я на практическом примере описываю, что происходит при каждом из трех возможных значений этой настройки. После этого я делаю выводы о том, для чего эта настройка нужна и в каких ситуациях какие ее значения можно использовать.

Всё описанное происходит в операционной системе «Windows 10». Работу с «Git» я показываю на примере работы из командной строки в программе «PowerShell» версии 7. Используемый дистрибутив «Git» называется «Git for Windows».

Читать далее

Правка чужого кода

Время на прочтение6 мин
Количество просмотров19K
Всегда приятно, когда удаётся сделать мир чуточку лучше.


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

Старожилы знают, что в комплекте с различными версиями ДОС шли дополнительные утилиты, и среди них была «замечательная» утилита debug, которая убога чуть более, чем полностью. Ещё во времена моей молодости эта утилита вызывала у меня самые противоречивые чувства, то сейчас и подавно. Пользоваться ей без успокоительных очень сложно, с другой стороны, хорошо, что она есть. Но мне возможностей и удобства этой утилиты не хватало, поэтому пришлось искать другой подходящий инструмент. После длительного гугления наткнулся на исходники утилиты RAM View.

К сожалению, исполняемого файла найти не удалось, только исходные коды под Borland C++ 3.1, и как впоследствии оказалось, сама программа содержала ошибки.

Всё это вылилось в интересный квест по поиску старого компилятора, исправления ошибок в программе 25-летней давности и создания запроса на слияние.
Читать дальше →

Как преобразовать правило .gitignore в регулярное выражение

Время на прочтение2 мин
Количество просмотров4.7K

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

Читать далее

Александр Довнар о CI/CD: как, зачем, для чего

Время на прочтение14 мин
Количество просмотров12K

Спикер курса «CI/CD на примере Gitlab CI», Lead DevOps в Naviteq (ex. Onesoil and EPAM) Александр Довнар, рассказывает про CI, CD и еще раз CD.

Александр — AWS Community builder и сертифицированный архитектор, соведущий подкаста DevOps Kitchen Talks. 11+ лет работает в IT и сетях, из них 7+ лет — в Devops.

Эта статья — расшифровка вебинара, где Александр рассказывает, что за зверь CI/CD, кому и когда он нужен и зачем применять его в команде, а также обсуждает текущие проблемы индустрии вокруг этой практики.

Читать далее

Покажи мне свой Git, и я скажу, кто ты

Время на прочтение15 мин
Количество просмотров39K

Можно ли с помощью GitHub анализировать работу, не заглядывая в монитор сотрудника — без скриншотов и тайм-трекеров?

Я Александр Кириллов, технический директор компании Evrone. Больше 20 лет я посвятил разработке. В этой статье поделюсь с вами опытом, который собрал за время работы с распределенными командами. Расскажу о том, как, не нарушая приватность разработчиков, следить за качеством работы на проектах и отслеживать нежелательные паттерны с помощью метрик в Jira и Git.

Читать далее

Размер имеет значение! Часть 3

Время на прочтение2 мин
Количество просмотров1.5K

Как бы мы себя не обманывали - Размер имеет значение! И конечно, мы будем говорить о размере нашего андроид приложения, куда мы добавляем кучу классных features, и даже не задумываемся как это может негативно повлиять на размер приложения. Поэтому мы научимся обнаруживать регрессию размера нашего приложения на CI для автоматизации этого процесса.

В последней части, оптимизируем процесс обнаружения регрессии размера андроид приложения.

Читать далее

Вклад авторов