Откат проекта

Случайно удалил часть кода С#, сохранил проект и вышел.
Галочка на автосохранении стояла, но папка Backup files пуста
Можно ли как-то откатить проект?
Хранит ли VS. резервные копии где-то еще?
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Закрытие проекта Visual Studio 2010 при редактировании проекта
Когда редактирую любой проект в visual studio ultimate 2010 ( x64)студия.
Сборка проекта во время работы другого проекта
Здравствуйте! Можно ли в VS13, когда в одном решении находится несколько проектов, во время работы.
Откат IE с 9 на 8
Добрый день. Не подумав решили обновить IE с версии 8 на 9 на OS Windows 7 Домашняя расширенная.
Откат с 8.1 до 8
Здравствуйте!! обновил ноут через магазин до 8.1, она "почти" не запускается, т.е. после загрузки.
Управление репозиториями Git в Visual Studio
Окно репозитория Git предоставляет полноэкранный интерфейс Git, который помогает управлять репозиторием Git и оставаться в курсе проектов вашей команды. Например, может потребоваться сбросить, отменить изменения или фиксации вишни или просто очистить журнал фиксаций. Окно репозитория Git также отлично подходит для визуализации и управления ветвями.
С помощью Git можно легко управлять версиями в Visual Studio. Кроме того, вы можете удаленно работать с поставщиком Git, например GitHub или Azure DevOps. или локально без каких-либо поставщиков.
Изменение последней фиксации (изменение)
Обновление последней фиксации называется изменением в Git, и это распространенный вариант использования. Иногда вам просто нужно обновить сообщение о фиксации, или может потребоваться включить изменения в последнюю минуту.
Вы можете изменить фиксацию в командной строке с помощью следующей команды:
git commit --amend
Окно репозитория Git упрощает обновление сообщения фиксации. Откройте сведения о фиксации последней фиксации, дважды щелкнув его, а затем выберите параметр «Изменить » рядом с сообщением о фиксации.
После завершения редактирования сообщения фиксации нажмите кнопку «Изменить«.
Если вам нужно включить изменения кода в последнюю фиксацию, это можно сделать в окне изменений Git. Выберите поле «Изменить проверка», а затем зафиксируйте изменения.
Дополнительные сведения о внесении изменений см. в статье «Средства Git — переписывание журнала » на веб-сайте Git.
Фиксации слиянием (скваш)
Чтобы объединить серию фиксаций, Git предоставляет возможность squash-фиксаций в одну фиксацию. Этот параметр может быть полезным, если вы делаете частые фиксации и в конечном итоге с длинным списком фиксаций, которые необходимо очистить перед отправкой в удаленный репозиторий.
Вы можете сквашировать две фиксации в командной строке с помощью следующей команды:
git rebase -i HEAD~2
Затем обновите pick squash сообщение о фиксации, сохраните и обновите его.
Чтобы объединить фиксации в Visual Studio, используйте клавиши CTRL , чтобы выбрать несколько фиксаций, которые требуется объединить. Затем щелкните правой кнопкой мыши и выберите Squash Commits. Visual Studio автоматически объединяет сообщения фиксации, но иногда лучше предоставить обновленное сообщение. После просмотра и обновления сообщения фиксации нажмите кнопку Squash .
Дополнительные сведения о сквашировании см. в статье «Средства Git — переписывание журнала » на веб-сайте Git.
Слияние и повторная базовая ветвь
Если вы используете ветви Git для работы с различными функциями, в какой-то момент вам потребуется включить обновления, представленные в других ветвях. Это может произойти, пока вы все еще работаете над ветвь компонента. Это также может произойти, когда вы закончите работу над ветвь компонента и должны сохранить изменения, добавив их в другую ветвь. В Git эти обновления можно включить, объединяя или переключяя ветви.
Следующие инструкции используют New_Feature в качестве примера имени для ветвь компонента. Замените его именем собственной ветви.
Чтобы объединить основную ветвь в ветвь компонента в командной строке, выполните следующие команды:
git checkout New_Feature git merge main
Чтобы сделать то же самое в Visual Studio, проверка ветвь компонента, дважды щелкнув его в списке ветвей. Затем щелкните правой кнопкой мыши main и выберите «Объединить main» в «New_Feature».

Чтобы перебазировать главную ветвь в ветвь компонента в командной строке, используйте следующие команды:
git checkout New_Feature git rebase main
Чтобы сделать то же самое в Visual Studio, проверка ветвь компонента, дважды щелкнув его в списке ветвей. Затем щелкните правой кнопкой мыши main и выберите «Rebase» «New_Feature» на «main».

Дополнительные сведения о слиянии, перебазировании и ветвлениях в целом см . на веб-сайте Git Branching .
Копирование фиксаций (вишня-выбор)
Скопируйте фиксации из одной ветви в другую с помощью параметра выбора вишни. В отличие от слияния или повторной базы, выбор вишни приносит только изменения из выбранных фиксаций, а не все изменения в ветви. Выбор вишни — отличный способ решить эти распространенные проблемы:
- Случайное фиксация в неправильной ветви. Выберите изменения в правильной ветви, а затем сбросить исходную ветвь до предыдущей фиксации.
- Вытащив набор фиксаций, сделанных в ветвь компонента, поэтому вы объединяете их обратно в основную ветвь раньше.
- Перенос определенных фиксаций из основной ветви без повторной балансировки ветви.
Чтобы скопировать изменения из фиксации в текущую ветвь с помощью командной строки, используйте следующую команду:
git cherry-pick 7599e530
Чтобы сделать то же самое в Visual Studio, просмотрите ветвь, из которой вы хотите выбрать фиксацию, выбрав ее одним щелчком мыши. Затем щелкните правой кнопкой мыши целевую фиксацию и выберите «Вишни-Выбрать«.
По завершении операции Visual Studio отображает сообщение об успешном выполнении. Фиксация, которую вы выбрали вишни , появится в разделе «Исходящие «.
Дополнительные сведения о фиксациях выбора вишни см. на веб-странице Git для команды выбора вишни.
Отменить изменения
Используйте команду отменить изменения, чтобы отменить изменения, внесенные в фиксации, отправленные в общие ветви. Команда отменить изменения создает новую фиксацию, которая отменяет изменения, внесенные в предыдущую фиксацию. Команда отменить изменения не перезаписывает журнал репозитория, что делает его безопасным для использования при работе с другими пользователями.
Чтобы отменить изменения изменения, внесенные в фиксацию с помощью командной строки, используйте следующие команды. Замените пример идентификатором идентификатора реальной фиксации в ветви.
git revert 53333305 git commit
В предыдущем примере команды отменят изменения, внесенные в фиксацию 53333305, и создадут новую фиксацию в ветви. Исходная фиксация по-прежнему находится в журнале Git. Чтобы сделать то же самое в Visual Studio, щелкните правой кнопкой мыши фиксацию, которую вы хотите отменить изменения, а затем выберите «Вернуть». После подтверждения действия и завершения операции Visual Studio отображает сообщение об успешном выполнении, а новая фиксация появится в разделе «Исходящие».
Выберите новую фиксацию, чтобы убедиться, что она отменяет изменения отменить изменения фиксации.
Дополнительные сведения о отменить изменения изменениях см. на веб-странице Git для команды отменить изменения.
Сброс ветви в предыдущее состояние
Используйте команду сброса, чтобы вернуть ветвь в локальный репозиторий к содержимому предыдущей фиксации. Это действие не карта все изменения, которые произошли после фиксации, в которую вы сбрасываете ветвь.
Не сбрасывайте общие ветви, так как вы можете удалить работу других пользователей. Используйте вместо этого команду отменить изменения.
Чтобы сбросить ветвь в предыдущее состояние с помощью командной строки, используйте следующую команду. Замените пример идентификатором идентификатора реальной фиксации в ветви.
git reset --hard 53333305
—hard Часть команды сообщает Git, чтобы сбросить файлы в состояние предыдущей фиксации и дис карта любые промежуточные изменения. Чтобы сделать то же самое в Visual Studio, щелкните правой кнопкой мыши фиксацию, в которую нужно сбросить ветвь, а затем нажмите кнопку «Сброс >изменений» (—hard).
Дополнительные сведения о сбросе ветвей см. на веб-странице Git для команды сброса.
Связанный контент
- Работа с несколькими репозиториями
- Интерфейс Git в Visual Studio
git и Visual Studio. Как откатить состояние проекта к определенному коммиту?

Конечно можно 2 раза нажать на коммит и в Team Explorer появятся файлы, которые были изменены, но это не очень удобно. Можно ли состояние проекта «заменить» на состояние какого либо коммита, просто чтобы посмотреть что и как было на тот момент, без удаления других коммитов и создания новых?
Отслеживать
задан 12 янв 2018 в 11:26
419 2 2 золотых знака 9 9 серебряных знаков 19 19 бронзовых знаков
Я нашел пока один вариант: ПКМ по коммиту — View details(детали коммита), в окне, где появятся детали коммита открываем Actions(на русском скорее всего действия) -> Copy Commit ID, далее переходим в консоль GIT — и делаем git checkout
12 янв 2018 в 11:44
@A1essandro, если найдёте другой вариант (помимо checkout ) — обязательно напишите торвальдсу, порадуйте старика новыми неизведанными возможностями. (это шутка. я конечно, знаю и про show , и про cat-file , и про ещё более изощрённые пути, но «каноническим» является, естественно, только checkout ).
12 янв 2018 в 13:13
Я попробовал с помощью программы Git Extention откатить ветку к определенному более раннему коммиту. Откатил, открыл проект, состояние его никак не изменилось, только добавились красные галки у некоторых файлов. s17.postimg.org/f7t9dfw0f/image.png
12 янв 2018 в 13:17
@alexanderbarakin, чет не понял шутку. Даже если гуглить (я с git-ом не очень часто работаю, в основном mercurial) «перейти на определенный коммит git» то выдает чекаут. Объясните, пожалуйста, если я не прав.
12 янв 2018 в 13:24
@ЕгорСпириади, скорее всего Вы именно откатили изменения (т.е. сделали revert githowto.com/ru/undoing_committed_changes)
12 янв 2018 в 13:24
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
Если задача состоит в том, чтобы только посмотреть коммит не создавая новых и не откатываясь по дереву коммитов, то самое простое — создать отдельную ветку. Нажимаем ПКМ в Visual Studio на текущую ветку (справа внизу окна) и выбираем View History. Появится вкладка с деревом коммитов.
Нажимаем ПКМ на нужном коммите и выбираем New Branch. (при этом все изменения текущей ветки должны быть закоммичены, иначе после создания ветки нельзя будет на неё переключиться). После того, как поработали с новой веткой, её можно удалить в Team Explorer (предварительно переключившись на другую ветку).
Сведения об Обозревателе решений
Вы можете использовать Обозреватель решений для управления проектами и файлами в решении. В этой статье подробно описывается Обозреватель решений пользовательский интерфейс и как открыть Обозреватель решений, если вы непреднамеренно закройте его. В статье также описывается, как использовать контекстное меню правой кнопкой мыши в Обозреватель решений для быстрого добавления новых файлов, папок и элементов кода в проект.
Открытие Обозреватель решений
По умолчанию окно инструментов Обозреватель решений отображается как панель в правой верхней части интегрированной среды разработки Visual Studio (IDE). Если окно инструментов Обозреватель решений не отображается, его можно открыть в строке меню Visual Studio с помощью представления> Обозреватель решений или нажав клавиши CTRL +ALT+ L.
Пользовательский интерфейс Обозреватель решений
Давайте рассмотрим окно инструментов Обозреватель решений и его пользовательский интерфейс (пользовательский интерфейс). Начнем с аннотированного снимка экрана открытого консольного решения C# с двумя проектами.
В следующей таблице представлен текстовый эквивалент аннотированного снимка экрана, но с несколькими удобными ссылками, которые можно использовать для получения дополнительных сведений.
| Элемент пользовательского интерфейса | Действие |
|---|---|
| Панель инструментов | Управление тем, как отображаются файлы |
| Панель поиска | Поиск определенных файлов и типов файлов |
| Главное окно | Просмотр файлов, проектов и решений и управление ими |
| Узел решения | Управление решениями |
| Узел проекта | Управление проектами |
| Узел зависимостей | Управление зависимостями решения и проекта |
| Узел программы | Просмотр, изменение и управление программой или приложением (приложением) |
| Вкладка «Изменения Git» | Использование Git и GitHub в Visual Studio для совместной работы над проектами с командой |
панель инструментов Обозреватель решений
Чтобы продолжить, давайте рассмотрим панель инструментов в Обозреватель решений.

Панель инструментов содержит следующие элементы пользовательского интерфейса слева направо:
| Элемент пользовательского интерфейса | Действие |
|---|---|
| Кнопка «Назад» | Переключение между результатами поиска |
| Кнопка «Переадресация» | Переключение между результатами поиска |
| Кнопка «Главная « | Возврат к представлению по умолчанию |
| Кнопка «Переключить представления» | Переключение между представлением решения по умолчанию и необязательным представлением папки |
| Кнопка «Отложенные изменения» и раскрывающееся меню | Просмотр открытых файлов или файлов с ожидающих изменений |
| Синхронизация с кнопкой «Активный документ « | Поиск файла из редактора кода |
| Кнопка «Обновить » (условный) | Отображается только при выборе зависимости, например функции или пакета |
| Свернуть кнопку «Все « | Свернуть представление файла в главном окне |
| Кнопка «Показать все файлы» | Просмотр всех файлов, включая выгруженные проекты |
| Кнопка «Свойства» | Просмотр и изменение параметров для определенных файлов и компонентов |
| Кнопка «Предварительный просмотр выбранных элементов» | Просмотр выбранного файла или компонента в редакторе кода |
Контекстное меню Обозревателя решений
В Обозревателе решений есть несколько параметров, с которыми можно взаимодействовать с помощью контекстного меню, открываемого правой кнопкой мыши. Отображаемые контекстные параметры зависят от того, какой узел выбран: Решение или Проект.
Параметры меню узла решения
На следующем снимке экрана для консольного приложения C# отображаются параметры контекстного меню, которое можно открыть, щелкнув правой кнопкой мыши узел Решение.
Сведения, отображаемые в контекстном меню узла Решения, также зависят от типа проекта, языка программирования или платформы. На следующем снимке экрана выделены дополнительные параметры для приложения C#: Зависимости проекта, Порядок сборки проекта, Настройка запуска проектов и всплывающее меню Git. Эти дополнительные параметры обычно появляются, когда вы добавляете еще один проект в решение, а затем добавляете его в репозиторий.
Параметры меню узла проекта
На следующем снимке экрана для консольного приложения C# отображаются параметры контекстного меню, которое можно открыть, щелкнув правой кнопкой мыши узел Проект.
Сведения, отображаемые в контекстном меню узла Проект, также зависят от типа проекта, языка программирования или платформы. На следующем снимке экрана выделен дополнительный параметр для приложения C#: всплывающее меню Зависимости сборки. Дополнительные параметры обычно появляются, когда вы добавляете еще один проект в решение, а затем добавляете его в репозиторий.
Меню «Добавить»
В контекстном меню Обозревателя решений одним из самых полезных параметров является всплывающее меню Добавить. С его помощью можно добавить еще один проект в решение. Кроме того, можно добавить элемент в проект и многое другое.
Открыть всплывающее меню Добавить можно из узлов Решение, Проект или Зависимости. Его пункты зависят от узла.
Руководство по добавлению элементов и проектов с помощью контекстного меню в Обозревателе решений см. в статье Общие сведения о проектах и решениях.
Диалоговое окно быстрого добавления
Начиная с выпуска Visual Studio 2022 версии 17.5 , можно использовать диалоговое окно быстрого добавления для создания пустого файла или простого класса C#. В Обозреватель решений щелкните правой кнопкой мыши папку или проект, а затем выберите «Добавить>новый элемент«. Или, если вы предпочитаете, используйте сочетание клавиш CTRL + SHIFT+ A.

С помощью быстрого добавления можно выполнить следующие задачи.
- Добавьте новый файл без просмотра списка шаблонов.
Пример: MyClass.cs - Создайте вложенные папки в одной операции.
Пример: Folder1/Folder2/, Folder1/Folder2/MyFile.cs - Добавьте файлы с любым расширением или без расширения вообще.
Пример: File.MyExtension, README, .gitignore- Краткое добавление заполняет расширение по умолчанию, но после открытия диалогового окна можно выбрать Escape (ESC), чтобы быстро очистить поле ввода.
Вы также можете быстро переключаться между диалогом быстрого добавления и диалогом «Создать элемент». Это делается следующим образом.
- Чтобы открыть диалоговое окно «Новый элемент«, используйте «Показать все шаблоны«.

- Чтобы открыть диалоговое окно быстрого добавления, используйте режим «Показать компактный«.

Visual Studio запоминает ваш выбор, чтобы получить интерфейс, который лучше всего подходит для ваших потребностей. Если вы хотите вернуться в диалоговое окно быстрого добавления по умолчанию, выберите shift +F2.
Вы можете настроить сочетания клавиш для команды Project.AddNewItem и команды AddQuickFile из клавиатуры «Параметры>инструментов».>>
Средство сравнения файлов
Начиная с выпуска Visual Studio 2022 версии 17.7, теперь можно выбрать два файла в Обозреватель решений и сравнить их с помощью новых параметров сравнения с выбранными параметрами.
Файлы можно сравнить следующими способами:
- Щелкните правой кнопкой мыши один файл, выберите «Сравнить с. » в контекстном меню, которое открывается проводник. Затем перейдите к любому файлу и выберите его для сравнения.
- Чтобы выбрать два файла, удерживая нажатой кнопку CTRL . Затем щелкните правой кнопкой мыши и выберите » Сравнить выбранный» в контекстном меню.
Независимо от того, каким способом вы решили сравнить файлы, средство сравнения файлов должно упростить сравнение файлов без необходимости оставлять интегрированную среду разработки.
Команда Свернуть все потомки
Кроме того, в состав выпуска Visual Studio 2022 версии 17.7 входит команда «Свернуть все потомки «. Эта команда рекурсивно сворачивает все узлы под выделенным элементом, чтобы можно было глубоко вложенные иерархии при переходе по структуре проекта.

Команду «Свернуть все потомки» можно найти в контекстном меню правой кнопкой мыши для любого элемента в Обозреватель решений с потомками. Чтобы использовать команду, можно также нажать клавиши CTRL +ВЛЕВО.
Связанный контент
- Что такое решения и проекты в Visual Studio?
- Что такое конструктор проектов .NET?
- Настройка макетов окон и персонализация вкладок в Visual Studio