Вот неоспоримый золотой совет: используйте git каждый день!
- 1. Мне нужно отменить оттесненный коммит на локальном сервере.
- 2. Я случайно зафиксировал что-то в неправильной ветке
- 3. Я допустил ошибку в последнем коммите
- 4. Я случайно удалил файл
- 5. Я случайно удалил ветку
- 6. Я случайно удалил файл из своей ветки
- 7. Я хочу объединить две ветки, но не хочу фиксировать все изменения.
- 8. Я хочу перебазировать свою ветку, но не хочу потерять свои изменения
- 9. Я хочу перебазировать свою ветку, но не хочу конфликтовать с другими ветками.
- 10. Я хочу сбросить свою ветку, но не хочу потерять свои изменения
1. Мне нужно отменить оттесненный коммит на локальном сервере.
Решение:
Если вы еще не отложили свой коммит, вы можете просто отменить его, сбросив HEAD на предыдущий коммит:
git reset HEAD~
Если вы уже опубликовали свой коммит, вы можете отменить его, вернувшись к предыдущему коммиту:
git revert HEAD
2. Я случайно зафиксировал что-то в неправильной ветке
Решение:
Вы можете либо сбросить HEAD на предыдущий коммит, либо выбрать коммит из неправильной ветки и применить его к правильной ветке.
3. Я допустил ошибку в последнем коммите
Решение:
Вы можете либо reset
ваш HEAD на предыдущий коммит, либо amend
ваш последний коммит с правильными изменениями.
4. Я случайно удалил файл
Решение:
Вы можете либо reset
вашего HEAD на предыдущий коммит, либо использовать git checkout
для восстановления удаленного файла из последнего коммита.
5. Я случайно удалил ветку
Решение:
Вы можете использовать git checkout
для создания новой ветки с теми же коммитами, что и удаленная ветка.
6. Я случайно удалил файл из своей ветки
Решение:
Если вы еще не переместили свою ветвь, вы можете просто восстановить файл из последнего коммита.
Если вы уже продвинули свою ветку, вы можете либо reset
ваш HEAD на предыдущий коммит, либо использовать git checkout
для восстановления файла с последнего коммита.
7. Я хочу объединить две ветки, но не хочу фиксировать все изменения.
Решение:
Вы можете использовать git cherry-pick
для выбора коммитов, которые вы хотите объединить из одной ветки в другую.
Подробнее о cherry-pick можно узнать здесь
8. Я хочу перебазировать свою ветку, но не хочу потерять свои изменения
Решение:
Вы можете использовать git stash
, чтобы сохранить изменения, пересоздать ветку, а затем применить изменения с помощью git stash pop
.
9. Я хочу перебазировать свою ветку, но не хочу конфликтовать с другими ветками.
Решение:
Вы можете использовать git rebase -i
, чтобы интерактивно пересобрать ветку и разрешить все конфликты перед тем, как выложить свои изменения.
10. Я хочу сбросить свою ветку, но не хочу потерять свои изменения
Решение:
Вы можете использовать git stash
, чтобы сохранить изменения, сбросить ветку, а затем применить изменения с помощью git stash pop.