GIT Flashcards
Что делает команда git show?
Команда git show
используется в системе контроля версий Git для отображения информации о коммите. Когда вы выполняете git show [commit]
, где [commit]
- это идентификатор коммита (например, хэш коммита или ветка), git show
показывает следующую информацию о коммите:
- Хэш коммита
- Автор и электронная почта автора
- Дата и время коммита
- Заголовок коммита
- Список изменений, внесенных в рамках коммита
- Содержимое (патчи) измененных файлов
- Информацию о родительском коммите (или коммитах) в случае коммита слияния
git show
также может использоваться для вывода информации об отдельных объектах Git, таких как ветки, теги или деревья коммитов.
Что делает команда git log?
Команда git log
используется в системе контроля версий Git для просмотра истории коммитов в репозитории. Когда вы выполняете git log
, Git показывает список коммитов, начиная с последнего идущего вниз по истории.
Каждый коммит, указывается в следующем формате:
- Хэш коммита: уникальный идентификатор коммита.
- Автор: имя автора коммита.
- Дата и время: когда был создан коммит.
- Заголовок: краткое описание коммита.
git log
может быть использована с рядом опций для настройки вывода истории коммитов. Некоторые полезные опции:
-
--oneline
: вывод коммитов в одну строку, содержащую только хэш и заголовок коммита. -
--graph
: отображение истории коммитов в виде графа. -
--author
: фильтрация коммитов по автору. -
--since
/--after
и--until
/--before
: фильтрация коммитов по диапазону дат.
Как найти список файлов, которые изменились в определенном коммите?
Это достигается просмотром истории коммитов с помощью команды git log с применением определенных флагов:
stat под каждым из коммитов появится список и количество измененных файлов, количество строк, добавленных и удаленных в каждом из файлов. В конце, под списком, будет выведена суммарная статистика.
name-status — показывает список файлов, которые были изменены, удалены.
Для поиска списка файла в конкретном коммите можно выполнить команду git show и указать хеш коммита.
Чем отличается master и origin master ?
master принадлежит локальному репозиторию, а origin master - удаленному
Чем отличаются команды «git push» и «git pull»?
команда “git pull” нужна для получения изменений из удаленного репозитория, а команда “git push” нужна для отправки изменений в удаленный репозиторий
Как отменить действие команды «git add» для файла?
С помощью команды git reset
Как узнать кто автор строки в файле, используя систему Git?
С помощью команды git blame
Что делает команда git status?
Показывает состояние проекта: кол-во untracked, deleted, new и прочих файлов, количество коммитов, на которое отличается локальная версия репозитория от удаленного, и так далее
Как узнать, какие изменения мы сделали локально, относительно последнего состояния нашего удаленного репозитория?
С помощью команды git diff
Как решить конфликт в Git во время слияния веток?
Исправить изменения вручную там, где Git не смог это сделать автоматически, затем сделать коммит
Что означает статус файла modified в выводе команды git status?
Что файл имеет историю в системе Git и был изменен, относительно его последнего состояния
Что означает статус файла untracked в выводе команды git status?
Что система Git не отслеживает изменения этого файла
Что делает команда git add?
Запускает отслеживание изменений указанного файла
Что такое GitHub?
Веб-сервис для хостинга IT-проектов и их совместной разработки, основанный на Git
Что такое ветка в репозитории Git?
Это разные пути развития проекта, по сути, разные последовательности коммитов
Что такое репозиторий Git?
Папка, в которой находятся файлы конфигурации репозитория, файлы журналов, индекс и хранилище, содержащее файлы проекта
Что означает статус файла new в выводе команды git status?
Что файл только начал отслеживаться Git и пока не имеет истории
Как отменить слияние веток, если произошел конфликт?
С помощью команды git merge –abort
Что делает команда git stash?
Перемещает изменения в специальное хранилище с возможностью их последующего применения. Git stash — команда сохраняющая измененное состояние рабочей директории или отдельного файла в хранилище незавершенных изменений. Это дает возможность в любой момент применить их обратно. Например, если нужно переключиться между ветками без фиксации изменений, можно применить команду git stash, рабочая директория останется без изменений, данные будут сохранены в специальном хранилище. Для просмотра спрятанных изменений нужно вызвать команду git stash list, а для применения — git stash apply.
Что такое слияние двух веток?
Слияние двух веток в системе контроля версий Git означает объединение изменений из одной ветки в другую. Когда вы выполняете слияние веток, Git автоматически комбинирует изменения, сделанные в одной ветке, с изменениями из другой ветки и создает новый коммит, который содержит оба набора изменений.
Процесс слияния обычно включает следующие шаги:
- Вы переключаетесь на ту ветку, в которую вы хотите слить изменения (целевая ветка).
- Вы вызываете команду
git merge
с названием ветки, из которой вы хотите принять изменения (исходная ветка). - Git анализирует историю коммитов и пытается объединить изменения из исходной ветки в целевую ветку.
- Если Git находит конфликты, которые не могут быть автоматически разрешены, он останавливается и выводит сообщение о конфликте. Вам нужно вручную разрешить эти конфликты.
- После разрешения всех конфликтов, Git создает новый коммит с объединенными изменениями в целевой ветке.
Как исправить ошибку «fatal: The current branch my_branch has no upstream branch», возникающую при вводе git push?
Ошибка “fatal: The current branch my_branch has no upstream branch” возникает, когда указанная локальная ветка (my_branch
) не имеет привязки (upstream) к удаленной ветке. При этих обстоятельствах Git не знает, на какой удаленный репозиторий и ветку отправлять изменения при выполнении команды git push
.
Команда: git push -u origin my_branch
Что сделает команда «git clean -fd» ?
Удалит не только untracked файлы, но и папки
Добавится ли пустая папка в удаленный репозиторий после git push?
Пустые папки не добавляются в репозиторий
Как удалить все untracked файлы в текущем репозитории?
Выполнить команду: git clean -f
Как удалить локальную ветку my_branch?
Выполнить команду: git branch -D my_branch