Часто я работаю с герокой, и в конце проекта у меня есть несколько небольших коммитов, чтобы исправить некоторые неожиданные ошибки. Это приводит к 10 небольшим ошибкам, которые я хочу перестроить в один. Проблема в том, что история уже перенесена. Как примирить эти вещи?Как восстановить историю git после нескольких нажатий, а затем нажать обновленную историю?
ответ
Что вы хотите сделать, так далеко не так, как того, что предлагают люди. Это правда, что вы не хотите переустанавливать изменения, перенесенные в общую ветвь главного сервера, очень часто встречаются переадресация изменений, отправленных в не разделяемую/рабочую ветку или в не разделяемый репозиторий. Многие считают это ЛУЧШЕЙ практикой, чем загромождать историю проекта бессмысленными (и, возможно, неполными/неработоспособными коммитами).
Вопрос: спросите себя, «кто-нибудь будет тянуть из ветки, к которой я нажимаю». Если ответ отрицательный, то проблемы с этим являются только теоретическими и намного перевешивают проблемы загроможденной истории. Если да, то, конечно, вы не хотите этого делать. Однако в этом случае вы должны спросить себя, можете ли вы разворачивать из не разделяемой ветки в этом репозитории. Создайте ветку проверки работоспособности, скопируйте и переконфигурируйте свободно. Когда вы закончите свою работу, переконвертируйте в свои сердца содержимое и надавите на эту хорошую передачу на общую ветку.
конечно! сделать ветку. Derp. благодаря! – dougvk
Что произойдет, если кто-то потянет, и я нажму другую историю? –
От git-rebase
man-page: Rebasing (или любая другая форма перезаписи) ветка, на которой работали другие, - плохая идея; любой, кто находится за ним, вынужден вручную исправить свою историю.
Как правило, не переустанавливайте после того, как вы что-то нажали.
Вы не должны переписывать историю (rebase) после того, как вы уже нажали. Если кто-то вытащит из этого пульта, и вы пересобираете и нажимаете, у вас будут ужасные ужасные конфликты слияния.
Это так плохо? –
Это не так уж плохо, но это мешает вам сотрудничать с людьми в одном репозитории. – tjarratt
Если вы действительно хотите выдвинуть нормированную ветвь (которая Git будет отклонять по умолчанию), вы можете использовать следующую команду:
git push --force heroku master
Просто быть в курсе, что это, в общем-то, на самом деле плохая идея, по причинам, о которых уже упоминали другие.
- 1. Восстановить историю расходящегося, затем конвергентного репо
- 2. Как восстановить историю при копировании проектов git?
- 3. Git/Как восстановить историю файлов после простого «перемещения файлов»
- 4. Восстановить перемещенную историю файлов в Git
- 5. Как очистить историю Git?
- 6. Восстановить историю пользователей Android
- 7. Git: Как переписать удаленную историю?
- 8. Как иметь чистую историю git
- 9. Eclipse, восстановить недавнюю историю
- 10. Как восстановить историю неверно перемещенного файла в git?
- 11. Как удалить локальную историю git после фиксации?
- 12. git reset удалить историю?
- 13. Заменить историю, а затем перенаправить в AngularJS
- 14. Как переписать историю в git?
- 15. Git: Как восстановить историю всех репозиториев, связанных с проектом?
- 16. git - только извлекать файлы, а не историю
- 17. Добавить отсутствующую историю git
- 18. Нажмите новую историю после переустановки?
- 19. Сохранять историю совершения после «git merge»
- 20. Git - показать историю файла?
- 21. Git Удалить удаленную историю
- 22. Как стереть историю создания git?
- 23. Как удалить историю старого git?
- 24. Как исправить историю мастера?
- 25. Возможно ли восстановить историю git для скопированного и измененного дерева?
- 26. Исправить историю после принудительного нажатия
- 27. git p4: перенести всю историю - включая историю интеграции
- 28. Объединить историю двух репозиториев Git?
- 29. Как восстановить историю командной строки Firebug
- 30. Git восстановить удаленный файл и сохранить историю файлов
Являются ли эти коммиты, что другие люди выбирают/тянут? Другими словами, это общий репозиторий или просто развертывание, которое вы только используете? – wadesworld
@wadesworld для обоих ответов ниже, это плохая идея, даже если это не общий репозиторий. Это плохая привычка, и если я когда-нибудь подумаю, что мне нужно это сделать, я бы поставил под сомнение мои предпосылки, которые привели меня к такому выводу. – tjarratt
интересный. моя проблема не общая? люди просто кусают пулю и сохраняют множественные коммиты? – dougvk