Картинка взята с сайта techstars.com и принадлежит ее правообладателям
Это перевод заметки “Oh shit, git!” от Katie Sylor-Miller.
Git — сложная штука. Испортить все очень легко, а исправить проблему иногда чертовски сложно. В официальной документации прослеживается проблема курицы и яйца: сложно понять как выйти из сложной ситуации если не знаешь название штуки, которая тебе требуется чтобы исправить проблему.
Вот список плохих ситуаций, в которые я попадала, и как я в итоге смогла выбраться. На простом языке!
Ой, блин, я сделал что-то не то. Тут же есть машина времени, правда?..
Блин! Сделал коммит, но понял, что забыл одну мелочь
Ой, блин, нужно изменить сообщение в последнем коммите
Бли-и-ин! Коммитнул в мастер, а надо было в новую ветку!
Естественно, это не сработает если ты уже сделал пуш в origin. Ну, и если коммитов больше, чем один, то надо git reset HEAD@{число}.
Блин! Коммитнул не в ту ветку.
Другой вариант — использовать cherry-pick:
Блин, сделал diff, но ничего не происходит!
Git показывает изменения в diff только для тех файлов, которые еще не добавлены в staging area (еще не сделан git add). С флагом --staged будет показывать diff для добавленных файлов.
Нахрен всё, я сдаюсь
Перевод: Рахим Давлеткалиев
Originally published at ru.hexlet.io.