Обновить
64K+

Git *

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

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

Зеркалирование GitHub-проектов в 2023 году

Время на прочтение4 мин
Охват и читатели16K

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

Читать далее

Фича-тогглы: инструкция по применению

Время на прочтение6 мин
Охват и читатели20K

Всем привет! Я Павел, тимлид команды SLA, и занимаюсь оценкой надёжности Авито. В своей прошлой статье я рассказал про стратегии ветвления и Trunk Based Development. Если не читали, переходите по ссылке. А сейчас я хочу рассказать про фича-флаги, которые появляются именно в контексте TBD.

Читать далее

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

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

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

Читать далее

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

Время на прочтение6 мин
Охват и читатели48K

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

Читать далее

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

Время на прочтение4 мин
Охват и читатели48K

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

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

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

Читать далее

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

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

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

Читать далее

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

Время на прочтение1 мин
Охват и читатели12K
main

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

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

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

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

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

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

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

Время на прочтение4 мин
Охват и читатели12K

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


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

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

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

Время на прочтение3 мин
Охват и читатели4.2K

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

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

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

Читать далее

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

Время на прочтение15 мин
Охват и читатели13K

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

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

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

Читать далее

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

Время на прочтение5 мин
Охват и читатели16K

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

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

Погнали!

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

Время на прочтение9 мин
Охват и читатели3.4K

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

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

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

Читать далее

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

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

Время на прочтение4 мин
Охват и читатели7.1K

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

Читать далее

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

Время на прочтение8 мин
Охват и читатели26K

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

Читать далее

GitLab self-instance on RedOs

Время на прочтение14 мин
Охват и читатели15K

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

Поднять GitLab!

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

Время на прочтение9 мин
Охват и читатели45K

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

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

Читать далее

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

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


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

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

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

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

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

Время на прочтение14 мин
Охват и читатели14K

Спикер курса «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 мин
Охват и читатели44K

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

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

Читать далее