Git собеседования – Telegram
Git собеседования
612 subscribers
98 photos
183 links
Подготовка к собеседованиям в IT

Еще больше разобранных вопросов для подготовки на сайте https://frontview-it.ru

Frontend - @frontview_it
Backend - @frontview_backend
Все IT вакансии - @frontview_all_vacancies
Download Telegram
Pull request и merge request — это процессы в системах контроля версий, таких как GitHub и GitLab, которые позволяют разработчикам предложить изменения в коде для слияния с основной веткой проекта. Они включают в себя ревью кода чтобы гарантировать качество и соответствие изменений проектным требованиям.

✈️ Git собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍71
📍 Чтобы увидеть изменения между текущей веткой и целевой веткой используется команда:

git diff target-branch


Эта команда покажет различия между текущей веткой и target-branch.

Для просмотра изменений, которые будут слиты, следует использовать:

git diff --cached


Эта команда показывает изменения, подготовленные для коммита.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Git собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍71
Для просмотра изменений между двумя коммитами используется команда git diff, за которой следуют идентификаторы (хэши) этих коммитов. Эта команда отображает различия в содержимом файлов, позволяя анализировать, что было добавлено, изменено или удалено.

✈️ Git собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍61
1️⃣ Краткость заголовка: Заголовок должен быть кратким и начинаться с глагола в повелительном наклонении, например, "Fix bug" или "Add feature".

2️⃣ Пустая строка: После заголовка оставляется пустая строка для отделения от основного текста.

3️⃣ Подробное описание: Основной текст (опционально) объясняет, что и почему было изменено. Используется для сложных изменений.

4️⃣ Единообразие: Соблюдение единого стиля сообщений в проекте.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Git собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Команда git status используется для проверки текущего статуса репозитория, отображая информацию о изменениях в рабочей директории и индексе. Она показывает, какие файлы были изменены, добавлены или удалены, и какие из них подготовлены для коммита.

✈️ Git собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
🔥 Создание алиасов позволяет ускорить работу и сделать команды более удобными для использования. Алиасы настраиваются в файле конфигурации Git и могут быть глобальными или локальными.

Чтобы создать алиас, нужно отредактировать файл конфигурации. Например, чтобы создать алиас для команды git status, можно использовать следующую команду:


git config --global alias.st status


Этот алиас позволяет использовать git st вместо git status.

Алиасы также могут быть более сложными. Например, для создания алиаса, который выводит лог коммитов в сокращенном виде:


git config --global alias.lg "log --oneline --graph --all"


Теперь git lg будет выводить лог в удобном формате.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Git собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥1
SSH (Secure Shell) — это протокол сетевой безопасности, который обеспечивает защищённый доступ к удалённым компьютерам и серверам через незащищённые сети. В контексте Git SSH используется для безопасного клонирования репозиториев и выполнения операций с удалёнными репозиториями.

✈️ Git собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍53🤔1
🗑 Удаление ветки в Git может быть выполнено локально и удаленно.

Для удаления локальной ветки используется команда:


git branch -d branch_name


Если ветка не слита, и требуется принудительное удаление, нужно использовать:


git branch -D branch_name


Для удаления удаленной ветки применяется:


git push origin --delete branch_name


Эта команда удаляет ветку из удаленного репозитория.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Git собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍91
Защита основной ветки достигается путем настройки правил защиты ветки, которые могут включать запрет на прямые коммиты и требование прохождения код-ревью перед слиянием. Эти меры помогают предотвратить случайные изменения и обеспечивают контроль качества кода перед его добавлением в основную ветку.

✈️ Git собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍3
🔵Git Flow — это модель ветвления, которая упрощает управление разработкой и выпуском программного обеспечения. Она определяет строгие правила для создания и слияния веток, обеспечивая организованный процесс разработки.

🔵Основные ветки включают main для стабильных релизов и develop для интеграции новых фич. Временные ветки, такие как feature, release и hotfix, используются для разработки новых фич, подготовки релизов и исправления багов соответственно. Git Flow помогает поддерживать чистоту и структуру в репозитории.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Git собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Клонирование существующего репозитория осуществляется с помощью команды git clone, за которой следует URL репозитория. Эта команда создает локальную копию удаленного репозитория, включая все его файлы, историю коммитов и ветки.

✈️ Git собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍61
Локальный репозиторий находится на компьютере разработчика и содержит полную историю изменений проекта, включая рабочие файлы и служебные данные. Удаленный репозиторий хранится на сервере и используется для совместной работы, обмена изменениями и резервного копирования кода.

✈️ Git собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍61
Для сравнения изменений между коммитами используется команда git diff. Она показывает разницу в файлах между двумя точками истории.

1. Сравнение дв
ух коммитов:
Чтобы увидеть изменения между двумя конкретными коммитами, нужно указать их хэши:

git diff <commit1> <commit2>


2. Сравнение с предыдущим к
оммитом:
Если нужно сравнить текущий коммит с предыдущим, можно использовать:

git diff HEAD^ HEAD


3. Сравнение с вет
кой:
Для сравнения текущей ветки с другой:

git diff branch1..branch2


Команда git diff выводит изменения построчно, показывая добавленные и удаленные строки. Это полезно для анализа истории изменений.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Git собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥2
🪅 Чтобы применить изменения из git stash, используется команда git stash apply. Она возвращает сохраненные изменения в рабочую директорию, но не удаляет их из стека. Если нужно применить и удалить изменения, используется git stash pop.

git stash apply stash@{0}


Применяет изменения из конкретного стеша (в данном случае stash@{0}).

git stash pop


Применяет изменения из последнего стеша и удаляет его из списка.

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

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Git собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍61
Тег удаляется с помощью команды git tag -d, за которой следует имя тега. Для удаления тега с удаленного репозитория используется команда git push origin --delete с указанием имени тега.

✈️ Git собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥2
🔴Чтобы изменить сообщение последнего коммита, используется команда git commit --amend.

Исправление сообщения:

git commit --amend -m "Новое сообщение коммита"


Эта команда открывает редактор, где можно изменить сообщение последнего коммита. Если нужно просто заменить текст, используется флаг -m.

Важные моменты:
- Если коммит уже был отправлен в удаленный репозиторий, после изменения потребуется принудительный пуш:

git push --force


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

Использовать --amend следует осторожно, чтобы избежать проблем с историей репозитория.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Git собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍51
git merge объединяет изменения из одной ветки в другую, создавая новый коммит слияния. git rebase перемещает коммиты одной ветки на вершину другой, переписывая историю и создавая линейную последовательность изменений.

✈️ Git собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Для работы с несколькими удаленными репозиториями можно добавить дополнительные remote-источники. Например, чтобы добавить новый remote:


git remote add upstream https://github.com/user/repo.git


Просмотреть список всех удаленных репозиториев:


git remote -v


Для получения изменений из конкретного remote:


git fetch upstream


Чтобы отправить изменения в определенный remote:


git push origin main


Удалить ненужный remote:


git remote remove upstream


Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Git собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍61
Чтобы проверить, действуют ли правила .gitignore, можно использовать команду git status. Если файлы, указанные в .gitignore, не отображаются в выводе, значит, правила применяются корректно. Для более детальной проверки можно использовать git check-ignore -v <file>, чтобы убедиться, что конкретный файл игнорируется.

✈️ Git собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍81
👉 Конфликты слияния возникают, когда Git не может автоматически объединить изменения из разных веток. Для их разрешения нужно вручную отредактировать конфликтующие файлы.

1. Найти конфликты: После попытки слияния Git отметит конфликтующие участки в файлах. Они выглядят так:


<<<<<<< HEAD
изменения из текущей ветки
=======
изменения из ветки, которую сливают
>>>>>>> branch-name


2. Редактировать файл: Нужно выбрать, какие изменения оставить, или объединить их вручную. Удалить маркеры <<<<<<<, =======, >>>>>>>.

3. Добавить изменения в индекс: После редактирования файл нужно добавить в индекс:


git add <имя_файла>


4. Завершить слияние: После разрешения всех конфликтов завершить слияние командой:


git commit


Если нужно отменить слияние и начать заново, используется команда git merge --abort.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Git собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍82
Хэш (SHA) — это уникальный идентификатор, который генерируется для каждого коммита, файла или объекта в репозитории. Он представляет собой 40-символьную строку, созданную на основе содержимого объекта, и обеспечивает целостность данных, позволяя отслеживать изменения.

✈️ Git собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍51