Git: Очередной лист Вопросов и Ответов

от автора

Любой IT специалист должен знать эти слова: GIT и GITHUB?


С этим тезисом мало кто поспорит.

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

Скорее всего это будет даже не статья, а некая шпаргалка для проходящих собеседы, некое направление: что-то посмотреть, о чем-то почитать, что-то вспомнить и тд.

Вообщем-то мы начинаем КВН =)

Как переименовать ветку?
# Переименовать текущую ветку git branch -m [new-name]  # Если мы находимся в любой ветка git branch -m [old-name] [new-name]

Как удалить файл/папку из репозитория?
git rm -r --cached [file/folder]

Как объединить несколько комитов в один цельный комит?
# Открываем интерактивное меню rebase git rebase -i HEAD~[число комитов] # Проставляем s(squash)  # Заливаем все изменения git push --force

За что отвечает команда git bisect?

Для выполнения поиска комита сломавшего логику

git bisect start git bisect bad git bisect good [хеш комита]

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

Это делается с помощью хука pre-commit. Для этого нужно прописать код проверки в конфигурационном файле pre-commit (.git/hooks). Git будет запускать данную проверку перед каждым комитом. Один из популярных — hasky.

Что такое tag в репозитории?

Способ поставить какую-то точку в истории git.

# Создать тег git tag [name]  # Создать аннотированный тег git tag -a [name] [-m "Описание тега"]

Как поменять ссылку на удаленный репозиторий?
# Посмотреть текущие ссылки на удаленый репозиторий git remote -v  # Добавить ссылку на удаленный резизиторий git remote add origin [url_of_git_repository]  # Изменить ссылку на удаленный репозиторий git remote set-url origin [newurl_of_git_repository]

Как можно отменить коммит, если он не был опубликован?
# Вариант 1. В интерактивном режиме выполнить команду drop git rebase -i  # Вариант 2. git reset HEAD~ git add --all git reset --hard

В чем заключается разница между git pull и git fetch?
# Извлекает все изменения текущей ветки с сервера git pull  # Получает все отсутствующие данные с удаленного # репозитория, но не сливает их git fetch

Что такое stage/unstage или index?

Области файлов, которые готовы к следующему комиту или еще не готовы.

За что отвечает команда git stash?

Команда которая сохраняет текущие не закомиченные изменения в локальном хранилище.

# Показывает список всех stash записей git stash list  # Сохранить изменения в stash git stash git stash save [name_in_stash_list]  # Выгружает изменения из stash в текущую ветку # для работы, удаляя запись git stash pop  # Выгружает изменения из stash в текущую ветку # для работы, но не удаляет запись git stash apply [--index [index]]  # Удаляет запись из stash  git stash drop # Удаляет все наборы отложенных изменений git stash clear

За что отвечает команда git rebase?

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

git rebase [branch_name]

За что отвечает команда git merge?

Загрязняет ветку мерж комитами, но не изменяет историю комитов.

git merge [branch_name]

Какие модели ветвления вы знаете?

GitFlow — есть две основные ветки main и develop.

GitHubFlow — есть основная ветка main.

Как создать репозиторий?
# Инициализировать локально git init  # Клонировать удаленный репозиторий git clone [url]

Из чего состоит комит?

Это односвязанный список, который состоит из объектов с измененными файлами и ссылки на предыдущий комит. Так же указаны имя автора, метки времени и сообщение комита.

Каким образом можно установить было слияние ветки или нет?
git branch --merged

За что отвечает команда git config?

Позволяет работать с конфигурацией git репозитория.

Как найти список файлов, которые изменились в определенном комите?
# Загружаем список комитов git log  # Открываем список изменения комита git show [хеш комита]

Я думаю эти вопросы/ответы будут полезны в работы, как таблица умножения в школе. Если вы хотите узнать подробнее про Git — буду рад пообщаться в комментах.

НО если статья была настолько полезна, что вы хотите помочь мне в сборке домашнего сервера для одного интересного проекта — БУДУ РАД.

Другие мои статья:


ссылка на оригинал статьи https://habr.com/ru/articles/813513/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *