---
# System prepended metadata

title: FAQ - Частые вопросы по GIT
tags: [FAQ]

---

## Отличия между «git pull» и «git fetch»?
git pull — это, по сути, git fetch, после которого сразу же следует git merge.

git fetch получает изменения с сервера и сохраняет их в refs/remotes/. Это никак не влияет на локальные ветки и текущие изменения. А git pull вливает все эти изменения в локальную копию.

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

`git pull --prune`
либо
`git fetch --prune`

## Как объеденить/отменить **локальные** комиты в один большой?
Находясь на той же ветке, с которого делал коммит выполни следующую команду:

`git reset --soft HEAD~2`

HEAD~2 означает два коммит до HEAD, т.е. до текущего положения.

## Как переименовать локальную ветку?

`git branch -m oldname newname`

## Я добавляю в .gitignore файлы, а их все равно отслеживает?
Скорее всего эти файлы уже были в индексе, команда:

`git rm --cached`

Позволяет убрать файлы из индекса, соответственно .gitignore на них подействует.

[Не нашли ответ?](https://github.com/intocode/git-faq)