Создание фиксации Git в Visual Studio
Область применения:Visual Studio Visual Studio для Mac
Visual Studio Code ![]()
Основная часть любого рабочего процесса Git заключается в изменении файлов и фиксации изменений в этих файлах. Хотя в этой статье рассматриваются репозитории GitHub, вы можете работать удаленно через выбранного поставщика Git, такого как GitHub или Azure DevOps. или локально без каких-либо поставщиков.
GIT отслеживает изменения файлов в репозитории в процессе работы и разделяет файлы на три категории. Это те же изменения, которые отображаются при вводе команды git status в командной строке.
- Неизмененные файлы: эти файлы не изменились с момента последней фиксации.
- Измененные файлы: эти файлы имеют изменения с момента последней фиксации, но вы еще не выполнили их для следующей фиксации.
- Промежуточные файлы: эти файлы имеют изменения, которые будут добавлены в следующую фиксацию.
В процессе работы Visual Studio отслеживает изменения в файлах проекта в разделе Изменения окна Изменения GIT.

Новые возможности в версии 17.6. Вы также можете ссылаться на проблему или запрос на вытягивание, введя # или выбрав # кнопку в правой нижней части текстового поля сообщения фиксации. Дополнительные сведения см. в записи блога о справочных проблемах и запросах на вытягивание.
Чтобы выполнить изменения после готовности, нажмите + кнопку (плюс) на каждом файле, который вы хотите выполнить, или щелкните правой кнопкой мыши файл, а затем выберите этап. Можно также подготовить все измененные файлы одним щелчком мыши, используя кнопку «Промежуточно сохранить все» (+) в верхней части раздела Изменения.
При подготовке изменения Visual Studio создает раздел Подготовленные изменения. Только изменения из раздела Подготовленные изменения добавляются к следующей фиксации, которую можно выполнить, выбрав команду Зафиксировать промежуточные. Эквивалентная команда для этого действия — git commit -m «Your commit message» .

Можно также отменить подготовку изменений, нажав кнопку – (минус). Эквивалентная команда для этого действия — git reset для отмены размещения одного файла или git reset для отмены размещения всех файлов в каталоге.
Кроме того, можно отказаться от подготовки измененных файлов, пропустив область подготовки. В этом случае Visual Studio позволяет зафиксировать изменения напрямую без предварительной подготовки. Просто введите сообщение о фиксации и выберите Зафиксировать все. Эквивалентная команда для этого действия — git commit -a .
Visual Studio также позволяет выполнить фиксацию и синхронизацию одним щелчком мыши с помощью ярлыков Зафиксировать все и отправить и Зафиксировать все и синхронизировать. Если дважды щелкнуть любой файл в разделе Изменения или Подготовленные изменения, то можно построчно сравнить измененную версию файла с неизмененной.

Если дважды щелкнуть фиксацию, в Visual Studio откроются сведения о ней в отдельном окне инструментов. Здесь можно отменить фиксацию, сбросить ее, исправить сообщение о фиксации или создать тег для нее. Если щелкнуть измененный файл в фиксации, в Visual Studio откроется инструмент сравнения, в котором рядом друг с другом показаны фиксация и ее предок.

Следующие шаги
Чтобы продолжить путешествие, перейдите к строкам этапов кодовой страницы.
См. также
- Интерфейс GIT в Visual Studio
- Visual Studio & GitHub: лучше вместе
Управление репозиториями Git в Visual Studio
Область применения:
Visual Studio Visual Studio для Mac
Visual Studio Code ![]()
Окно репозитория 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
- Visual Studio и GitHub: лучшее объединение
Make a Git commit in Visual Studio
Applies to:
Visual Studio
Visual Studio for Mac
Visual Studio Code
The core part of any Git workflow is modifying files and committing the changes in those files. While this article references GitHub repositories, you can work remotely with the Git provider of your choice, such as GitHub or Azure DevOps. Or, you can work locally with no provider at all.
Git tracks file changes in your repo as you work, and separates the files in your repo into three categories. These changes are equivalent to what you would see when you enter the git status command in the command line:
- Unmodified files: These files haven’t changed since your last commit.
- Modified files: These files have changes since your last commit, but you haven’t yet staged them for the next commit.
- Staged files: These files have changes that will be added to the next commit.
As you do your work, Visual Studio keeps track of the file changes to your project in the Changes section of the Git Changes window.

New in version 17.6: You can also reference an issue or a pull request by typing # or selecting the # button in the lower right side of the commit message text box. For more information, see the Reference issues and pull requests blog post.
To stage changes when you’re ready, select the + (plus) button on each file you want to stage, or right-click a file and then select Stage. You can also stage all your modified files with one click by using the stage all + (plus) button at the top of the Changes section.
When you stage a change, Visual Studio creates a Staged Changes section. Only changes in the Staged Changes section are added to the next commit, which you can do by selecting Commit Staged. The equivalent command for this action is git commit -m «Your commit message» .

Changes can also be unstaged by clicking the – (minus) button. The equivalent command for this action is git reset to unstage a single file or git reset to unstage all the files in a directory.
You can also choose not to stage your modified files by skipping the staging area. In this case, Visual Studio allows you to commit your changes directly without having to stage them. Just enter your commit message and then select Commit All. The equivalent command for this action is git commit -a .
Visual Studio also makes it easy to commit and sync with one click by using the Commit All and Push and Commit All and Sync shortcuts. When you double-click any file in the Changes and the Staged changes sections, you can see a line-by-line comparison with the unmodified version of the file.

When you double-click a Commit, Visual Studio opens its details in a separate tool window. From here you can revert the commit, reset the commit, amend the commit message, or create a tag on the commit. When you click a changed file in the commit, Visual Studio opens the side-by-side Diff view of the commit and its parent.

Next steps
To continue your journey, visit the Stage lines of code page.
See also
- Git experience in Visual Studio
- Visual Studio & GitHub: Better together
Сделать commit из TeamExplorer на github

Подскажите пожалуйста, что не так. Почему нет Commit? Все перепробовал. Сильно туплю, новичок. В какой то момент что-то пошло не так и вот результат. Перегуглил все, не нашел свою проблему. Видимо не знаю просто как вопрос поставить.
Отслеживать
задан 27 дек 2020 в 12:51
Артём Енин Артём Енин
55 7 7 бронзовых знаков
Проект был уже залит ранее на гитхаб. Случайно удалил потом и создал заново с тем же именем. Подрубаюсь, все ок. Думал решением будет снять с контроля решение и поставить заново, но не понял как сделать это.
27 дек 2020 в 12:54
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
Вопрос решен. В новой студии они интерфейс перелопатили и теперь, чтобы сделать коммит, надо идти на вкладку Git Changes и в выпадайке Commit выбирать из списка Commit and Push.
Отслеживать
ответ дан 27 дек 2020 в 15:26
Артём Енин Артём Енин
55 7 7 бронзовых знаков
- visual-studio
- github
- explorer
- team
-
Важное на Мете
Похожие
Подписаться на ленту
Лента вопроса
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.11.15.1019
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
