Я знаю, я знаю, git revert
но я только что узнал, что он не ведет себя точно так же, как svn revert
- по крайней мере, не в Visual Studio 2015 или, возможно, не в TortoiseGit. Я объясню:
Я новичок в VS2015 и новичок в Git. Когда я обнаружил, что VS2015 имеет встроенную Git-интеграцию, я попробовал это. Тем не менее, я работал над несколькими файлами и был готов зафиксировать только один из них. К сожалению, фильтр, который я применил на панели Team Explorer, не применился к тем файлам, которые были зафиксированы (я думаю, поэтому название кнопки "Комментировать все"). Вместо этого он передал все "грязные" файлы - упс!
Обращаясь к TortoiseGit, чтобы просмотреть журнал моего репо, я выбрал самый последний (локальный) коммит и отменил его с помощью "Отменить изменения этого коммита". Я ожидал, что эта операция вернет файлы, над которыми я работал, до "грязного" состояния, в котором они находились до того, как я совершил коммит, как это делает SVN Revert, но, к моему удивлению, операция вернула мои локальные файлы в предыдущая версия репо , а не в том состоянии, в котором они находились до того, как я их совершил.
Конечно, я смог получить свою работу, потому что все это было в ревизии "все файлы", которую я изначально зафиксировал. Я просто начал копировать каждый файл из него в его каталог. Но чего мне здесь не хватает? Есть ли функция Git, которую я должен был использовать вместо Revert?