Обновить
16.78

Git *

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

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

Новое в Git 3: замыкания

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

Git — популярная система контроля версий. В ней атомарное изменение одного или нескольких файлов называется коммитом, а несколько последовательно идущих коммитов объединяются в ветку. Ветки используются для того, чтобы реализовывать новые идеи (фичи).



Случается, что идея оказывается тупиковой, разработчик сворачивает не туда, и возникает необходимость отката к изначальной версии, для этого нужно забыть о новой ветви и переключиться на главную dev или master, и затем продолжить работу как ни в чем не бывало. В этом случае "отросток" повиснет навсегда, как и желание его удалить. Но как удалить, если это часть истории? Этот отросток показывает усилия трудяги-программиста, пусть и тщетные. Так легче отчитываться перед начальством, ведь неудачный результат — тоже результат!


Спешу обрадовать: разработчики Git в 3 версии введут новую команду для замыкания таких беспризорных ветвей. Напомню, что текущая актуальная версия — 2.21.0.


Как использовать эту команду, что она дает и что думают IT компании? Статья отвечает на эти и другие вопросы.

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

Расширения для Visual Studio Code которые помогают работать с Git

Время на прочтение1 мин
Количество просмотров48K
Visual Studio Code имеет git по умолчанию, но встроенных функций хватает не всегда для удобной и быстрой работы. Также для эффективной работы с git требуется визуализация процессов.
Читать дальше →

Интеграция AppCenter и GitLab

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

Трям, здравствуйте!


Хочу рассказать о своём опыте настройки интергации GitLab и AppCenter через BitBucket.


Необходимость такой интеграции возникла в ходе настройки автоматического запуска UI тестов для кроссплатформенного проекта на Xamarin. Подробный туториал под катом!

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

Вышел релиз GitLab 11.8 с SAST для JavaScript, GitLab Pages для подгрупп и отслеживанием ошибок

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

Картинка для привлечения внимания


Поддержка SAST для JavaScript


Благодаря Static Application Security Testing (SAST) GitLab сканирует код и помогает обнаружить потенциальные уязвимости еще в конвейере. В релизе 11.8 мы добавляем в список поддерживаемых SAST языков JavaScript, на основе существующей поддержки node.js. Теперь можно просканировать любые файлы JavaScript, статические скрипты и HTML. Важной практикой в DevSecOps сейчас является сканирование изменений при каждом коммите, и с этим обновлением SAST мы покрываем один из самых популярных веб-языков, помогая пользователям раньше обнаруживать риски в коде на JavaScript.

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

Ода дня одного программиста

Время на прочтение1 мин
Количество просмотров9.1K
Привет, Хабр!

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

Знай, это не бред юмориста!
Ода дня одного программиста.
(прим. авт.)
Читать дальше →

10 Git-команд, которые стоит знать разработчику

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


В этой статье мы обсудим разные Git-команды, которые могут оказаться полезными для разработчика или специалиста по Big Data. Вы узнаете, как проверять, удалять и приводить код в порядок. А еще рассмотрим способы выхода из Vim и экономию времени с помощью псевдонимов Bash и конфигурации редактора Git.
Читать дальше →

Как настроить Continuous Deployment для своего проекта: личный опыт

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


Перевели для вас статью Юлиуса Минмо о настройке непрерывного развертывания (Continuous Deployment) для своего проекта. Автоматизация позволяет сэкономить кучу времени и сил. Статья будет полезна, в первую очередь, начинающим программистам.

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

Вышел GitLab 11.7 с Релизами, многоуровневыми вложенными эпиками и реестром NPM-пакетов

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

Картинка для привлечения внимания


Управление релизами стало намного проще


GitLab 11.7 представляет Релизы для планов начиная с Core. Пользователи теперь будут получать полный «слепок» релиза — исходный код со всеми артефактами проекта. Это избавляет от необходимости вручную собирать в одном месте исходный код, лог сборки, другие метаданные или артефакты, относящиеся к данному релизу. Эта фича послужит основой для более развернутого и проработанного управления релизами в будущем.

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

Как мы разгоняли работу с параметрами конфигураций фронтальной системы

Время на прочтение5 мин
Количество просмотров2.8K
Привет, Хабр! Меня зовут Сергей Лежнин, я старший архитектор в Сбертехе. Одно из направлений моей работы — Единая Фронтальная Система. В этой системе есть сервис управления параметрами конфигураций. Его использует множество пользователей, сервисов и приложений, что требует высокой производительности. В этом посте я расскажу, как этот сервис эволюционировал от первой, самой простой, до своей текущей версии и зачем мы в итоге развернули всю архитектуру на 180 градусов.


Повышаем продуктивность на GitHub: советы для новичков и не только

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


От переводчика: публикуем для вас статью Даррена Барнса, который делится своим опытом работы с GitHub. Его советы будут полезны, в первую очередь, новичкам. Возможно, и опытный кодер найдет что-то для себя.

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

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

Как научить людей использовать Git

Время на прочтение3 мин
Количество просмотров141K
По работе приходится участвовать в разных проектах, поэтому я хорошо знаю, как работают все мои коллеги. Помню, что компания начала использовать Git буквально за пару недель до моего прихода. На мониторах разработчиков кругом висели наклейки с напоминанием: сначала add, потом коммит, затем пуш.


Они не знали, зачем. Программистам просто сказали строго следовать инструкции, иначе беда. Но проблемы возникали так часто, что я решила провести семинар по Git.
Читать дальше →

Используем rcm для деплоя конфигурации в любую папку

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

И снова, здравствуйте. Неделю (эта статья о-очень долго мариновалась в бэклоге) Какое-то время назад я рассказал, как использовать rcm для обычного управления конфигурацией. У нас в компании есть модуль puppet, распространяющий персональные настройки пользователя по всем хостам, на которые у него есть доступ. Соответственно, хочется следующего:


  • Иметь собственные настройки для всего, чем я пользуюсь (vim, zsh, git, etc..)
  • Обновлять их по мере обновления в репозитории dotfiles
  • Всё это — без лишних телодвижений

Инструменты


Всё, что нужно, уже используется мною, а именно:


  • rcm
  • git
  • tar
Интересно? Прошу!

Вышел GitLab 11.6 с бессерверными функциями и кластерами Kubernetes для групп

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

Картинка для привлечения внимания


Мы рады представить релиз GitLab 11.6, в котором мы расширили возможности бессерверной архитектуры на GitLab и добавили групповые кластеры Kubernetes для упрощения работы с нативной облачной инфраструктурой.

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

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

Новый год, новый GitHub: неограниченные бесплатные приватные репозитории

Время на прочтение2 мин
Количество просмотров43K
Сегодня мы анонсируем два важных нововведения на GitHub, которые сделают его более доступным для разработчиков: неограниченные бесплатные приватные репозитории и более удобный продукт для компаний. Подробности под катом!

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

Бесплатные аккаунты на GitHub смогут [почти] без ограничений работать с приватными репозиториями

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

Эта новость опубликована на The Next Web, с пометкой:


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

А ещё есть вот такой замечательный тред в Twitter:



Ясно, что человек писал это дрожащими руками — точно так же, как я сейчас пишу дрожащими руками этот перевод.


Фейк ли это? Нет. Есть и официальное подтверждение в твиттере GitHub, так что — назад дороги нет.


Фичу явно выкатывали на спех, до сих пор на сайте не поправлена часть текстов, касающихся тарифов, а попытка даунгрейднуть план встречает таким вот опасно выглядящим сообщением:



В общем, запасаемся попкорном, скрещиваем пальцы на ногах и ждём годноты!

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

GitLab в NAS

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


При наличии работоспособного NAS с докером, установка Gitlab не представляет особых сложностей.

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

Как и зачем красть деревья в git

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

trees


В этой статье я расскажу об одном полезном, но малоизвестном приеме работы с git — как можно легко создать коммит, используя дерево из другого коммита. Проще говоря, как получить нужное состояние проекта на какой-либо ветке, если это состояние уже когда-то и где-то было в репозитории раньше. Будет приведено несколько примеров того, как это позволяет элегантно решать некоторые практические задачи. И в частности я расскажу о найденном мной методе, который позволяет значительно упростить исправление множественных конфликтов при rebase. Кроме того, эта статья — отличный способ понять на практике, что из себя представляет коммит в git-е.

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

Введение в Git Merge и Git Rebase: зачем и когда их использовать

Время на прочтение4 мин
Количество просмотров383K
Часто у разработчиков возникает выбор между Merge (слияние) и Rebase (перемещение). В Гугле вы увидите разное мнение, многие советуют не использовать Rebase, так как это может вызвать серьезные проблемы. В статье я объясню, что такое слияние и перемещение, почему вы должны (или не должны) использовать их и как это сделать.

image

Git Merge и Git Rebase преследуют одну и ту же цель. Они предназначены для интеграции изменений из одной ветки в другую. Хотя конечная цель одинаковая, принципы работы разные.

Некоторые считают, что вы всегда должны использовать Rebase, другие предпочитают Merge. В этом есть свои плюсы и минусы.

Git Merge


Слияние — обычная практика для разработчиков, использующих системы контроля версий. Независимо от того, созданы ли ветки для тестирования, исправления ошибок или по другим причинам, слияние фиксирует изменения в другом месте. Слияние принимает содержимое ветки источника и объединяет их с целевой веткой. В этом процессе изменяется только целевая ветка. История исходных веток остается неизменной.
Читать дальше →

Вышел GitLab 11.5 с панелями управления для операторов и специалистов по безопасности и контролем доступа GitLab Pages

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

Картинка для привлечения внимания


Панель управления безопасностью в рамках группы


Разработчики уже давно используют GitLab как инструмент для обеспечения безопасности своего кода. Теперь GitLab дает больше прав и возможностей специалистам, отвечающим за безопасность, так что они могут использовать его для повышения безопасности приложений и обеспечения совместимости. С релизом 11.5, новая панель безопасности группы собирает воедино всю информацию, которая может потребоваться специалистам по безопасности, в удобном виде, разработанном специально для них. Эта панель содержит новые возможности отображения: общий обзор информации о безопасности разных проектов, а также углубленная информация о каждом из них. В 11.5 мы начинаем с отчетов SAST, в дальнейших релизах будем добавлять новые отчеты на эту панель. Наша цель — создать удобный инструмент, единую панель безопасности, которую специалисты по безопасности смогут использовать вместо переключения между множеством инструментов.

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

Ретроспектива автоматизации и изменений в процессах разработки Timeweb

Время на прочтение7 мин
Количество просмотров3K
1 ноября 2017 года я стал руководителем рабочей группы разработки в отделе программных разработок Timeweb. А 12 ноября 2018 руководитель отдела спросил, когда же будет готова статья для Хабрахабр, потому что отдел маркетинга спрашивает, добровольцы кончились, а контент-план требует чего-то ещё)

Поэтому хочу дать ретроспективу, как менялись процессы разработки, тестирования и поставки наших продуктов в течение последнего года. Про унаследованные процессы и инструменты, docker, gitlab и то, как идёт у нас разработка.
Читать дальше →

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