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 pull объединяет команды git fetch и git merge, загружая изменения из удаленного репозитория и автоматически сливая их с текущей веткой. git fetch только загружает изменения, не изменяя локальную рабочую копию, что позволяет просмотреть изменения перед их слиянием.

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

Основные команды для работы с REMOTE:

▶️ git remote add <name> <url>: добавляет новый удаленный репозиторий.
▶️ git remote -v: отображает список удаленных репозиториев.
▶️ git fetch <remote>: загружает изменения из удаленного репозитория без слияния.
▶️ git pull <remote>: загружает и сливает изменения из удаленного репозитория.
▶️ git push <remote> <branch>: отправляет изменения в удаленный репозиторий.

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

✈️ Git собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍61
Для удаления локальной ветки используется команда git branch -d <branch_name>, которая удаляет ветку, если она уже слита. Для принудительного удаления, даже если ветка не слита, используется git branch -D <branch_name>.

✈️ Git собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥1
👉 GitHub Actions — это платформа для автоматизации рабочих процессов, интегрированная в GitHub. Она позволяет создавать, управлять и выполнять CI/CD процессы непосредственно в репозитории.

Рабочие процессы определяются в файлах YAML, которые хранятся в директории .github/workflows.

Пример простого рабочего процесса:


name: CI

on: [push]

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Node.js
uses: actions/setup-node@v2
with:
node-version: '14'
- run: npm install
- run: npm test


Этот пример запускает тесты при каждом push в репозиторий.

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

✈️ Git собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥1
Для удаления файла из индекса используется команда git rm --cached <имя_файла>, которая удаляет файл из индекса, но сохраняет его в рабочей директории. Это позволяет исключить файл из следующего коммита, не удаляя его.

✈️ Git собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍71
🔽 Откатить коммит можно несколькими способами в зависимости от ситуации и необходимости сохранить изменения.

Для отмены последнего коммита, сохраняя изменения в рабочей директории:
git reset --soft HEAD~1
# Откатывает последний коммит, оставляя изменения в индексе


Для полного удаления изменений:
git reset --hard HEAD~1
# Полностью удаляет последний коммит и изменения


Если коммит уже отправлен в удалённый репозиторий, лучше использовать git revert:
git revert <commit_hash>
# Создаёт новый коммит, отменяющий изменения указанного коммита


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

✈️ Git собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥2
Для получения обновлений из удаленного репозитория используется команда git fetch, которая загружает изменения, но не сливает их с локальной веткой. Чтобы объединить изменения с текущей веткой, после git fetch необходимо выполнить git merge, либо использовать git pull, который автоматически выполняет обе операции.

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

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

# Добавить исправленный файл в индекс
git add <filename>

# Завершить слияние
git commit


✔️ Конфликты при слиянии требуют внимательного анализа, чтобы сохранить целостность кода и избежать потери данных.

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

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

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

git blame filename


▶️ Этот запрос покажет информацию об авторе, коммите и дате для каждой строки в filename.

▶️ Для более детального анализа можно использовать опции, например, -L для ограничения диапазона строк. Команда ниже покажет авторов строк с 10 по 20.

git blame -L 10,20 filename


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

✈️ Git собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍82
Для переключения на другую ветку используется команда git checkout <имя_ветки>, которая позволяет перейти на указанную ветку и обновить рабочую директорию. В более новых версиях Git рекомендуется использовать git switch <имя_ветки> для выполнения той же задачи.

✈️ Git собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6💯2
git log — это команда для просмотра истории коммитов в репозитории. Она отображает список коммитов с их хешами, авторами, датами и сообщениями.

Основные параметры:

1️⃣ --oneline: выводит каждый коммит в одну строку, сокращая хеш и отображая только сообщение.

2️⃣ --graph: визуализирует ветвление и слияние в виде графа.

3️⃣ --author: фильтрует коммиты по автору.

git log --author="John Doe"


4️⃣ --since и --until: ограничивают коммиты по дате.

git log --since="2 weeks ago"


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

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

✈️ Git собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍93
🔥 Для просмотра всех доступных веток используется команда git branch. Эта команда выводит список локальных веток в репозитории.

Чтобы увидеть все ветки, включая удалённые, используется команда:

git branch -a


Эта команда выводит как локальные, так и удалённые ветки.

Для отображения только удалённых веток используется:

git branch -r


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

✈️ Git собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥1
🔥 Создание ветки на основе другой позволяет начать работу с новой веткой, сохраняя все изменения из исходной. Для этого используется команда git checkout или git switch с флагом -b.


# Переключение на исходную ветку
git checkout main

# Создание новой ветки feature-branch на основе main
git checkout -b feature-branch

# Альтернативный способ с использованием git switch
git switch -c feature-branch


👉 Эти команды создают и переключаются на новую ветку feature-branch, основанную на текущем состоянии ветки main.

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

✈️ Git собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍101
При возникновении конфликта во время rebase необходимо открыть конфликтные файлы, вручную разрешить конфликты, удалив конфликтующие маркеры, и сохранить изменения. После этого следует использовать команды git add для добавления исправленных файлов и git rebase --continue для продолжения процесса rebase.

✈️ Git собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥2
Для просмотра списка удаленных репозиториев в Git используется команда git remote. Она позволяет увидеть все удаленные репозитории, с которыми связано локальное хранилище.

Чтобы получить список всех удаленных репозиториев:

git remote


Для более детальной информации, включая URL-адреса:

git remote -v


Эта команда покажет список удаленных репозиториев с указанием URL для операций fetch и push.

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

✈️ Git собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥1
Создание нового репозитория в Git начинается с инициализации в локальной директории с помощью команды git init, которая создает скрытую папку .git. После этого можно добавлять файлы, фиксировать изменения и при необходимости связывать локальный репозиторий с удаленным, используя git remote add origin <URL>.

✈️ Git собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍51🤔1
🟠 Git, созданный Линусом Торвальдсом в 2005 году, быстро стал основным инструментом для управления версиями. Изначально разработанный для ядра Linux, Git выделялся скоростью и поддержкой нелинейной разработки. Вскоре были добавлены функции ветвления и слияния, что сделало его популярным среди команд, работающих над крупными проектами.

🟢 С течением времени Git интегрировался с платформами, такими как GitHub и GitLab, что упростило совместную работу. Эти платформы добавили функции, такие как pull requests, облегчающие ревью кода. Сообщество разработчиков Git постоянно улучшает производительность и удобство использования.

🟡 Сегодня Git стал стандартом для управления версиями, благодаря улучшенной документации и обучающим материалам, что делает его доступным даже для начинающих пользователей.

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

✈️ Git собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥2
Сохранение конфигураций пользователя позволяет легко управлять настройками и переносить их между разными системами. Для этого можно использовать файл .gitconfig, который хранит глобальные настройки пользователя.

Чтобы сохранить конфигурации, выполняется команда:

git config --global user.name "Имя Пользователя"
git config --global user.email "email@example.com"


Эти команды добавят имя и email в глобальный файл конфигурации, который обычно находится в домашней директории пользователя. Чтобы просмотреть все глобальные настройки, используется:

git config --list --global


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

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


git grep "TODO"


Этот пример ищет все упоминания "TODO" в текущем репозитории.

⚡️ git grep поддерживает регулярные выражения и множество опций, таких как -n для отображения номеров строк и -i для игнорирования регистра. Это делает его полезным для анализа и навигации по коду.

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

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