У меня была куча файлов в каталоге git, которые не отслеживались. Я допустил ошибку, выполнив git add .
, затем , совершив и нажав Изменения. Как я могу вернуться к тому, где файлы, которые были отслежены до того, как этот коммит снова не проверен, но все же в каталоге (git reset --hard
удалили все файлы, а не хорошо для меня, вместо того, чтобы их снова отследить). У меня есть много файлов в разных местах, которые нужно не отслеживать, поэтому git reset <FILE>
не будет работать для меня.Undo Добавить файлы в Git
ответ
$ git commit -m "Something terribly misguided" (1)
$ git reset HEAD~ (2)
<< edit files as necessary >> (3)
$ git add ... (4)
$ git commit -c ORIG_HEAD
- Это то, что вы хотите, чтобы отменить
- Это оставляет ваше рабочее дерево (состояние файлов на диске) без изменений, но расстегивает фиксации и оставляет изменения, совершенные unstaged (так они будут отображаются как «Изменения не поставлены для фиксации» в статусе git, и вам нужно будет добавить их еще до совершения). Если вы хотите добавить дополнительные изменения в предыдущую фиксацию или изменить сообщение commit1, вместо этого вы можете использовать git reset --soft HEAD ~, который похож на сброс HEAD, но оставляет ваши существующие изменения.
- Внести исправления в файлы рабочих деревьев.
- git добавить все, что вы хотите включить в свою новую фиксацию.
- Зафиксируйте изменения, повторно используя старое сообщение фиксации. сброс скопировал старую голову в .git/ORIG_HEAD; commit с -c ORIG_HEAD откроет редактор, который изначально содержит сообщение журнала из старого фиксации и позволяет вам его редактировать. Если вам не нужно редактировать сообщение, вы можете использовать опцию -C.
Источник: How to undo last commit(s) in Git?
Во-первых, вы должны вернуться последней фиксации и вернуть все файлы обратно в тамбур по:
git reset --soft HEAD~1
Это не удалит файлы и безопасно ,
Затем, вы можете удалить все файлы, которые добавляются в область размещения по:
git reset
Теперь, если вы запустите git status
, вы можете увидеть, что все файлы unstaged.
После этого вы можете только git add
выбрать файлы.
Спасибо за ваш ответ! Если бы вы ответили на 30 минут раньше, я бы пометил как принято – theEpsilon
Рад, что я мог бы помочь. Ничего ... @theEpsilon –
- 1. Undo Git совершить
- 2. Undo git add --all
- 3. VS2015, Git и undo
- 4. Undo multiple git merges
- 5. Undo git push mirror
- 6. Undo git reset --hard
- 7. Git undo last commit
- 8. Undo git push --tags
- 9. Undo Git Track Команда
- 10. Git - Undo Перезапись филиал
- 11. Undo git reset --soft ~ HEAD
- 12. Undo git pull (принудительное обновление)
- 13. Undo Git rebade общей истории
- 14. Undo git last commit push
- 15. Git undo merging 3 branches
- 16. Git undo local branch delete
- 17. Git добавить не добавлять файлы
- 18. undo commit в середине истории Git
- 19. Git undo частичные изменения в файле
- 20. Undo несколько файлов и папки «мерзавца добавить»
- 21. Как добавить tar-файлы в репозиторий git?
- 22. Как добавить двоичные файлы в git bash?
- 23. Как добавить определенные файлы рекурсивно в git?
- 24. Добавить .jar-файлы в репозиторий git
- 25. Добавить файлы в пустые фиксации на git?
- 26. Git добавить. добавляет файлы, перечисленные в .gitignore
- 27. Как добавить файлы dll в репозиторий Git
- 28. git: Не удается добавить файлы в github
- 29. Не удается добавить файлы в Git
- 30. Как добавить файлы в репозиторий git?
Возможный дубликат [Как отменить «git add» перед фиксацией?] (Http://stackoverflow.com/questions/348170/how-to-undo-git-add-before-commit) – jjst
@jjst, пожалуйста, см. редактирует, почему мой отличается. Кроме того, моя была после фиксации, а не раньше – theEpsilon
@ theEpsilon Вы единственный пользователь репо? Вам необходимо [отменить «git push»] (http://stackoverflow.com/questions/1270514/undoing-a-git-push). – legends2k