10 команд Git, без которых я не работаю в команде

Три месяца назад я снёс недельную работу коллеги. Одной командой.

Тогда я думал, что знаю Git. Знал только push и pull. Вот 10 команд, которые реально спасают:

1. git stash — срочно переключиться, не коммитя мусор. Вернулся — stash pop.

2. git cherry-pick — забрать один коммит из чужой ветки, не мержа всё.

3. git rebase -i HEAD~5 — слепить «fix, fix, реально fix» в один чистый коммит перед PR.

4. git reflog — удалил ветку, сделал reset --hard? Здесь всё. Восстанавливаешь по hash.

5. git bisect — баг где-то в 200 коммитах. Git сам делит пополам. 7 проверок вместо 200.

6. git reset --soft HEAD~1 — убрать коммит, оставить изменения в staged.

7. git commit --amend --no-edit — забыл файл? Добавляешь в предыдущий коммит.

8. git branch -vv — 15 веток, какая куда тянется? Видно за 30 секунд.

9. git diff --staged — проверить, что реально уходит в коммит. Ловит случайные console.log.

10. git log --oneline --graph --all — вся история как на ладони. Добавь алиас git lg.

Что изменилось: → Конфликты — минуты, не часы → PR проходят с первого раза → История читается как книга Какой пункт добавите вы?

10 команд Git, без которых я не работаю в команде | Сетка — социальная сеть от hh.ru