GIT
Команды
- fetch - забирает изменения из репозитория.
- merge - слияние одной или нескольких веток в другую.
- pull - fetch + merge.
- push - добавление commits в репозиторий.
Squash - сжатие нескольких commits в один.
Squash for local commits:
git rebase -i HEAD~3 - где 3 это количество commits с конца.
Далее откроется редактор. Нужно перед каждым commit вверху выбрать и указать:
- pick - commit куда вмерджатся другие.
- s - commits которые будут мерджится.
После закрытия файла откроется текстовый редактор в котором мы должны указать общий commit message.
.git - директория в проекте для хранения:
- hash всех commits.
- hooks - настройки действий во время git операций. Проверки, логирование, информирование и тд.
Git Stash
Git stash - это команда в Git, которая позволяет временно сохранить изменения в рабочем каталоге и
индексе (staging area), чтобы вы могли переключиться на другую ветку или выполнить другую задачу,
не теряя текущих изменений.
Команды stash
- git stash - сохраняет изменения и очищает рабочий каталог.
- git stash list - показывает список всех сохраненных стэшей.
- git stash apply - восстанавливает последние сохраненные изменения из стэша, оставляя запись в списке стэшей.
- git stash pop - восстанавливает последние сохраненные изменения из стэша и удаляет запись из списка стэшей.
- git stash drop - удаляет указанную запись из списка стэшей.
- git stash clear - очищает все записи в списке стэшей.
Git shelf - это не git команда. Такая функция если у некоторый IDE программ.
Merge и Rebase
Merge - создаёт новый коммит, который фиксирует объединение двух веток. В истории это видно как слияние
двух независимых линий разработки в одной точке.
- Переключись на целевую ветку (обычно main).
- Выполни git merge 'feature' - укажи имя исходной ветки.
Rebase
Переписывает историю ветки (обычно feature-ветки), как будто коммиты были сделаны поверх другой ветки
(например, main). Получается более линейная история без merge-коммитов.
- Переключись на ветку, которую хочешь ребейзнуть (например, feature)
- Выполни git rebase
Merge сохраняет историю как есть → хорошо для командной работы
Rebase делает историю аккуратной → хорошо для чистоты, но требует осторожности
Советы
Комментарий исправление опечаток - Fixed Typo