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
Чтобы узнать, на какой ветке находишься, можно использовать команду git branch, которая покажет список всех локальных веток с указанием текущей. Также можно использовать команду git status, которая выводит информацию о текущей ветке и состоянии репозитория.

✈️ Git собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍51
🖇 Команда git log используется для просмотра истории коммитов в репозитории. Она отображает список коммитов в обратном хронологическом порядке, начиная с последнего.

Каждый коммит включает:

🔹Хеш коммита
🔹Имя и email автора
🔹Дата коммита
🔹Сообщение коммита

git log


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

git log --oneline


git log помогает отслеживать изменения в проекте и анализировать историю разработки.

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

✈️ Git собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍71
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