#git
Что такое Git Flow?
Уровень:4️⃣
Git Flow - это модель ветвления для Git . Она предлагает структурированный подход к управлению ветками в репозитории Git , определяя определенные типы веток (например, master, develop, feature, hotfix, release) и правила их использования.
Ресурсы для изучения:
📄 Статья
📱 YouTube
Что такое Git Flow?
Уровень:
Ресурсы для изучения:
📄 Статья
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍2🏆2
#git
Что такое Trunk Based Development?
Уровень:7️⃣
Trunk Based Development - это подход к разработке программного обеспечения, где разработчики работают непосредственно с основной ("trunk") веткой (обычно называемой "master" или "main"), вместо создания и длительного поддержания длительных веток.
Ресурсы для изучения:
📄 Статья
📱 YouTube
Что такое Trunk Based Development?
Уровень:
Ресурсы для изучения:
📄 Статья
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍3🏆3
#git
Что делает команда git pull?
Уровень:2️⃣
Команда git pull используется для извлечения изменений из удаленного репозитория и автоматического объединения их с локальной веткой. Она обновляет ваш локальный репозиторий до последних изменений из удаленного репозитория.
Ресурсы для изучения:
📔 Дока
📄 Статья
📱 YouTube
Что делает команда git pull?
Уровень:
Ресурсы для изучения:
📔 Дока
📄 Статья
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍4🏆4
#git
🐱 Опишите шаги выгрузки новых изменений в удаленный репозиторий git
1️⃣ Добавление файлов в индекс
Команда
2️⃣ Фиксация изменений
Команда
❗️ Сообщение коммита должно быть информативным и описывать внесенные изменения
3️⃣ Отправка в удаленный репозиторий (push)
Команда
🔄 Эта последовательность действий повторяется при каждой синхронизации локальных изменений с удаленным репозиторием
Ресурсы для изучения:
📖 Статья
📹 Видео
💬 Новости
🎓 Платформа
Команда
git add
подготавливает файлы к фиксации:# Добавить конкретный файл
git add index.html
# Добавить все измененные файлы
git add .
Команда
git commit
сохраняет изменения в локальный репозиторийgit commit -m "Add product benefits section"
Команда
git push
отправляет изменения в удаленное хранилищеgit push origin main
Ресурсы для изучения:
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11
#git
⚙ Что такое рабочий процесс Gitflow?
Gitflow — это модель работы с Git, которая структурирует процесс разработки через использование различных веток.
✅ Основные ветки в Gitflow:
1. main — основная стабильная ветка, содержит готовые к релизу версии.
2. develop — ветка для разработки, сюда сливаются все новые фичи.
3. feature/ — ветки для разработки новых фич, создаются от develop и сливаются обратно после завершения.
4. release/ — ветки для подготовки к релизу, в которых исправляются баги и тестируются изменения.
5. hotfix/ — ветки для срочных исправлений ошибок в продакшне.
✅ Как работает:
1. Разработка фичи: создается ветка feature, после завершения сливается в develop.
2. Подготовка релиза: создается ветка release, которая сливается в main и develop.
3. Горячие исправления: если в main обнаружен баг, создается ветка hotfix, которая сливается в main и develop.
✅ Преимущества:
- Четкое разделение задач и этапов разработки.
- Легкость в управлении версиями и релизами.
- Удобство в исправлении багов без риска для стабильности.
Gitflow подходит для крупных проектов с несколькими параллельными ветками разработки и регулярными релизами.
Ресурсы для изучения:
📹 Видео
➡️ Вопрос
💬 Новости
🎓 Платформа
Gitflow — это модель работы с Git, которая структурирует процесс разработки через использование различных веток.
1. main — основная стабильная ветка, содержит готовые к релизу версии.
2. develop — ветка для разработки, сюда сливаются все новые фичи.
3. feature/ — ветки для разработки новых фич, создаются от develop и сливаются обратно после завершения.
4. release/ — ветки для подготовки к релизу, в которых исправляются баги и тестируются изменения.
5. hotfix/ — ветки для срочных исправлений ошибок в продакшне.
1. Разработка фичи: создается ветка feature, после завершения сливается в develop.
2. Подготовка релиза: создается ветка release, которая сливается в main и develop.
3. Горячие исправления: если в main обнаружен баг, создается ветка hotfix, которая сливается в main и develop.
- Четкое разделение задач и этапов разработки.
- Легкость в управлении версиями и релизами.
- Удобство в исправлении багов без риска для стабильности.
Gitflow подходит для крупных проектов с несколькими параллельными ветками разработки и регулярными релизами.
Ресурсы для изучения:
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥5
#git
👩💻 Как вы разрешаете конфликты в Git?
Конфликты возникают, когда Git не может автоматически объединить изменения. Пример: вы и ваш коллега изменили одну и ту же строку в файле.
Шаги для разрешения конфликта:
1. Выполните
2. Откройте конфликтующие файлы. Вы увидите метки, которые указывают конфликтующие части:
3. Отредактируйте файл, удаляя метки и выбирая правильную версию.
4. Сохраните изменения и добавьте файл в индекс:
5. Завершите процесс с помощью
⭐️ Совет: используйте инструменты для разрешения конфликтов, например, встроенные редакторы в VS Code или специализированные программы (Sourcetree, GitKraken).
Ресурсы для изучения:
➡️ Вопрос
💬 Новости
🎓 Платформа
Конфликты возникают, когда Git не может автоматически объединить изменения. Пример: вы и ваш коллега изменили одну и ту же строку в файле.
Шаги для разрешения конфликта:
1. Выполните
git pull
. Если возникает конфликт, Git остановится и покажет, в каких файлах проблема.2. Откройте конфликтующие файлы. Вы увидите метки, которые указывают конфликтующие части:
<<<<<<< HEAD
console.log("Моя версия");
=======
console.log("Версия коллеги");
>>>>>>> origin/main
3. Отредактируйте файл, удаляя метки и выбирая правильную версию.
4. Сохраните изменения и добавьте файл в индекс:
git add <имя_файла>
5. Завершите процесс с помощью
git commit
.Ресурсы для изучения:
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤2
#git
🖥 Как отменить коммит, который уже был отправлен и обнародован?
Когда коммит уже был отправлен на удалённый репозиторий (например, с помощью
🔵 Команда
Это безопасно, потому что отменяется только результат коммита, а сама история сохраняется.
🔵 Использование
Если коммит ещё не был отправлен на репозиторий, можно использовать
Ресурсы для изучения:
➡️ Вопрос
💬 Новости
🎓 Платформа
Когда коммит уже был отправлен на удалённый репозиторий (например, с помощью
git push
), его нельзя удалить без риска повредить историю, особенно если другие разработчики уже могли его скачать. Вместо этого используется команда git revert
, которая создаёт новый коммит, отменяющий изменения.git revert <commit_hash>
создаёт новый коммит, который инвертирует изменение, сделанное в указанном коммите. Пример:git revert abc1234
git push origin main
Это безопасно, потому что отменяется только результат коммита, а сама история сохраняется.
git reset
для локальных изменений:Если коммит ещё не был отправлен на репозиторий, можно использовать
git reset
. Но если коммит уже отправлен и опубликован, лучше использовать git revert
, чтобы избежать конфликтов с другими участниками проекта.Ресурсы для изучения:
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤2
#git
🖥 Что делает команда git stash?
Git stash — это полезный инструмент, который работает как временное хранилище для ваших незавершенных изменений. Это как ящик, куда вы можете положить свою текущую работу, чтобы потом к ней вернуться.
✅ Когда это полезно?
Представьте себе ситуацию: вы работаете над новой функцией в своем проекте, изменили несколько файлов, но еще не готовы сделать коммит. Вдруг появляется срочная задача — исправить баг на сайте, который уже в продакшене.
✅ Как это работает?
1. Сохранение: Когда вы запускаете команду stash, Git берет все ваши изменения, сохраняет их в специальном месте и возвращает рабочую директорию в чистое состояние последнего коммита.
2. Переключение контекста: Теперь вы можете спокойно переключиться на другую ветку, исправить баг, сделать коммит и завершить срочную задачу.
3. Восстановление: После решения срочной задачи вы можете вернуться к своей исходной ветке и достать сохраненные изменения из stash с помощью git stash apply.
Знаете про него? Используете в работе?
Ресурсы для изучения:
➡️ Вопрос
💬 Новости
🎓 Платформа
Git stash — это полезный инструмент, который работает как временное хранилище для ваших незавершенных изменений. Это как ящик, куда вы можете положить свою текущую работу, чтобы потом к ней вернуться.
Представьте себе ситуацию: вы работаете над новой функцией в своем проекте, изменили несколько файлов, но еще не готовы сделать коммит. Вдруг появляется срочная задача — исправить баг на сайте, который уже в продакшене.
В этот момент у вас есть несколько вариантов:
- Создать коммит с незавершенной работой (не идеально)
- Потерять все изменения, начав с чистого листа (плохо)
- Использовать git stash (отлично!)
1. Сохранение: Когда вы запускаете команду stash, Git берет все ваши изменения, сохраняет их в специальном месте и возвращает рабочую директорию в чистое состояние последнего коммита.
2. Переключение контекста: Теперь вы можете спокойно переключиться на другую ветку, исправить баг, сделать коммит и завершить срочную задачу.
3. Восстановление: После решения срочной задачи вы можете вернуться к своей исходной ветке и достать сохраненные изменения из stash с помощью git stash apply.
Знаете про него? Используете в работе?
Ресурсы для изучения:
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21❤6
#git
Как найти проблемный коммит после операции слияния?
После слияния с веткой могут возникнуть проблемы, и нужно понять, какой коммит вызвал ошибку. Для этого помогает инструмент git bisect, который выполняет бинарный поиск по истории коммитов, постепенно сокращая диапазон возможных нарушителей.
Инструкция:
1️⃣ Инициализируйте бинарный поиск:
2️⃣ Укажите хороший коммит (где все работало) и плохой коммит (где возникла ошибка):
3️⃣ Git будет поочередно переключаться на коммиты между хорошим и плохим состоянием. После каждого переключения проверьте, возникает ли ошибка, и укажите результат:
или
4️⃣ После нахождения проблемного коммита:
➡️ Вопрос
💬 Новости
🎓 База вопросов
Как найти проблемный коммит после операции слияния?
После слияния с веткой могут возникнуть проблемы, и нужно понять, какой коммит вызвал ошибку. Для этого помогает инструмент git bisect, который выполняет бинарный поиск по истории коммитов, постепенно сокращая диапазон возможных нарушителей.
Инструкция:
git bisect start
git bisect good <good_commit_hash>
git bisect bad <bad_commit_hash>
git bisect good
# если в текущем коммите ошибки нетили
git bisect bad
# если в текущем коммите ошибка присутствуетgit bisect reset
Поиск через редактор
VS Code
- View → SCM (или Source Control)
- Вкладка Timeline в редакторе покажет изменения файла по коммитам
- Расширение GitLens даёт удобную навигацию по истории изменений
WebStorm/IntelliJ IDEA
- VCS → Git → Show History
- Annotate with Git Blame (покажет, какой коммит изменил строку)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥3❤1
#git
🚩 Что такое команды git reset -mixed и git
merge -abort?
1️⃣ git reset --mixed
Описание:
Эта команда отменяет добавление файлов в индекс (`git add`), но сохраняет изменения в рабочем каталоге. Полезно, когда нужно убрать файлы из индекса, не теряя сами изменения.
Пример:
Удаляет файлы из индекса, но оставляет их в рабочей директории.
2️⃣ git merge --abort
Описание:
Используется для отмены слияния, если возникли конфликты или если вы решили не продолжать процесс. Возвращает репозиторий в состояние до начала слияния, отменяя все изменения, связанные с ним.
Пример:
Отменяет слияние и восстанавливает состояние репозитория до его начала.
⬜️
🔎 🔎 🔎 🔎 🔄
#️⃣ Вопрос
#️⃣ Новости
#️⃣ База вопросов
merge -abort?
Описание:
Эта команда отменяет добавление файлов в индекс (`git add`), но сохраняет изменения в рабочем каталоге. Полезно, когда нужно убрать файлы из индекса, не теряя сами изменения.
Пример:
git reset --mixed
Удаляет файлы из индекса, но оставляет их в рабочей директории.
Описание:
Используется для отмены слияния, если возникли конфликты или если вы решили не продолжать процесс. Возвращает репозиторий в состояние до начала слияния, отменяя все изменения, связанные с ним.
Пример:
git merge --abort
Отменяет слияние и восстанавливает состояние репозитория до его начала.
Вывод:
-git reset --mixed
помогает управлять индексом, удаляя файлы из него, но сохраняя изменения.
-git merge --abort
используется для прерывания слияния и отката к предыдущему состоянию.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥1
#git
🚩 Какие различные стратегии ветвления вы
знаете?
1️⃣ Centralized Workflow
- Одна основная ветка — обычно
- Все разработчики коммитят в неё напрямую.
- Подходит для небольших команд и простых проектов.
2️⃣ Feature Branching Workflow
- Для каждой новой фичи создаётся отдельная ветка от
- После завершения фича вливается обратно в
3️⃣ Gitflow Workflow
- Основные ветки:
- Вспомогательные:
Процесс:
- Разработка — в
- Новые фичи — в
- Подготовка релиза — в
- Исправления багов — в
4️⃣ Forking Workflow
- Каждый разработчик форкает репозиторий и работает в своей копии.
- После завершения работы — отправляет Pull Request в оригинальный репозиторий.
Чаще всего используется в open-source проектах.
🔎 🔎 🔎 🔎 🔄
#️⃣ Вопрос
#️⃣ Новости
#️⃣ База вопросов
знаете?
- Одна основная ветка — обычно
main
.- Все разработчики коммитят в неё напрямую.
- Подходит для небольших команд и простых проектов.
Плюсы:✅ Простота✅ Нет конфликтов между ветками
Минусы:❌ Отсутствие изоляции фич❌ Возможны нестабильности из-за прямых коммитов
- Для каждой новой фичи создаётся отдельная ветка от
main
.- После завершения фича вливается обратно в
main
через pull/merge request.Плюсы:✅ Изоляция фич✅ Возможность ревью✅ Удобно для командной работы
Минусы:❌ Требует больше внимания к слиянию❌ Возможны конфликты при долгом ветвлении
- Основные ветки:
main
, develop
. - Вспомогательные:
feature/*
, release/*
, hotfix/*
.Процесс:
- Разработка — в
develop
.- Новые фичи — в
feature/*
.- Подготовка релиза — в
release/*
.- Исправления багов — в
hotfix/*
.Плюсы:✅ Чёткое разделение ролей веток✅ Подходит для крупных проектов
Минусы:❌ Сложная структура❌ Не всегда подходит для CI/CD и DevOps-подходов
- Каждый разработчик форкает репозиторий и работает в своей копии.
- После завершения работы — отправляет Pull Request в оригинальный репозиторий.
Чаще всего используется в open-source проектах.
Плюсы:✅ Безопасность и изоляция✅ Подходит для внешних контрибьюторов
Минусы:❌ Менее удобно для командной разработки в рамках одной компании❌ Требует контроля доступа и модерации PR
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤3