Как зафиксировать изменения в git
Перейти к содержимому

Как зафиксировать изменения в git

  • автор:

Создание фиксации Git в Visual Studio

Основная часть любого рабочего процесса Git заключается в изменении файлов и фиксации изменений в этих файлах. Хотя в этой статье рассматриваются репозитории GitHub, вы можете работать удаленно через выбранного поставщика Git, такого как GitHub или Azure DevOps. или локально без каких-либо поставщиков.

GIT отслеживает изменения файлов в репозитории в процессе работы и разделяет файлы на три категории. Это те же изменения, которые отображаются при вводе команды git status в командной строке.

  • Неизмененные файлы: эти файлы не изменились с момента последней фиксации.
  • Измененные файлы: эти файлы имеют изменения с момента последней фиксации, но вы еще не выполнили их для следующей фиксации.
  • Промежуточные файлы: эти файлы имеют изменения, которые будут добавлены в следующую фиксацию.

В процессе работы Visual Studio отслеживает изменения в файлах проекта в разделе Изменения окна Изменения GIT.

The Git Changes window in Visual Studio 2022.

Этап изменения и фиксация

Чтобы выполнить изменения после готовности, нажмите + кнопку (плюс) на каждом файле, который вы хотите выполнить, или щелкните правой кнопкой мыши файл, а затем выберите этап. Можно также подготовить все измененные файлы одним щелчком мыши, используя кнопку «Промежуточно сохранить все» (+) в верхней части раздела Изменения.

При подготовке изменения Visual Studio создает раздел Подготовленные изменения. Только изменения из раздела Подготовленные изменения добавляются к следующей фиксации, которую можно выполнить, выбрав команду Зафиксировать промежуточные. Эквивалентная команда для этого действия — git commit -m «Your commit message» .

The Git commit dialog in Visual Studio 2022.

Можно также отменить подготовку изменений, нажав кнопку (минус). Эквивалентная команда для этого действия — git reset для отмены размещения одного файла или git reset для отмены размещения всех файлов в каталоге.

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

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

The line-by-line comparison of file versions in Visual Studio 2022.

Новые возможности в версии 17.6. Вы также можете ссылаться на проблему или запрос на вытягивание, введя # или выбрав # кнопку в правой нижней части текстового поля сообщения фиксации. Дополнительные сведения см. в записи блога о справочных проблемах и запросах на вытягивание.

Восстановление, сброс или изменение фиксации

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

The Commit Details dialog in Visual Studio 2022.

Создание сообщений фиксации с помощью чата GitHub Copilot

С помощью Visual Studio 2022 версии 17.9 и более поздних версий и расширений GitHub Copilot можно использовать ИИ для создания подробных сообщений фиксации, описывающих изменения.

Чтобы включить сообщения фиксации, созданные СИ, необходимо расширение GitHub Copilot и расширение чата GitHub Copilot. Чтобы установить расширение GitHub Copilot, используйте установщик Visual Studio, выберите «Изменить«, перейдите к отдельным компонентам и выберите компонент GitHub Copilot. Установите расширение GitHub CoPilot Chat, перейдя к расширению управления расширениями > из главного меню в Visual Studio. Возможно, вам придется перезапустить Visual Studio, и вам потребуется подписка на GitHub Copilot. Сведения об этих расширениях и о том, как получить подписку на GitHub Copilot, см. в статье «Что такое расширение GitHub Copilot для Visual Studio и что такое расширение чата GitHub Copilot».

Screenshot showing AI-generated commit message.

Когда вы будете готовы сделать фиксацию, используйте значок пера sparkly (подсказка: добавление сообщения об фиксации искусственного интеллекта) в правом нижнем углу папки редактирования сообщения фиксации, чтобы запросить сообщение фиксации, созданное ИИ. Созданный искусственным интеллектом текст создается и добавляется к уже созданному вами тексту. Внимательно прочитайте его, чтобы узнать, является ли это точным. У вас есть возможность принять вставку или дис карта ее. Если вы принимаете вставку, перед отправкой текста можно изменить его. Когда вы будете готовы, нажмите кнопку «Этап фиксации» или один из других вариантов фиксации, доступных в раскрывающемся списке под полем редактирования сообщения фиксации.

Узнайте, как GitHub Copilot защищает конфиденциальность ваших данных в заявлении о конфиденциальности бизнеса GitHub Copilot.

Связанный контент

  • Этапы строк кода
  • Интерфейс GIT в Visual Studio

4. Внесение изменений

Добавим кое-какие HTML-теги к нашему приветствию. Измените содержимое файла на:

Файл: hello.html
h1>Hello, World!h1> 

02 Проверьте состояние

Теперь проверьте состояние рабочей директории.

Выполните
git status 
Результат
$ git status On branch main Changes not staged for commit: (use "git add . " to update what will be committed) (use "git restore . " to discard changes in working directory) modified: hello.html no changes added to commit (use "git add" and/or "git commit -a") 

Первое, что нужно заметить, это то, что Git знает, что файл hello.html был изменен, но при этом эти изменения еще не зафиксированы в репозитории.

Также обратите внимание на то, что сообщение о состоянии дает вам подсказку о том, что нужно делать дальше. Если вы хотите добавить эти изменения в репозиторий, используйте команду git add . В противном случае используйте команду git сheckout для отмены изменений.

7.2 Инструменты Git — Интерактивное индексирование

Git поставляется вместе со скриптами, которые упрощают выполнение некоторых задач из командной строки. В этом разделе мы рассмотрим несколько интерактивных команд, которые могут упростить создание коммитов, позволяя включать в них только определённый набор файлов и их частей. Эти инструменты очень полезны, если вы изменили множество файлов, а затем решили, что хотите чтобы эти изменения были в нескольких маленьких понятных коммитах, а не в одном большом и запутанном. Таким способом вы сможете гарантировать, что ваши коммиты представляют логически разделённые изменения и могут быть легко прорецензированы вашими коллегами.

Если вы выполните git add с опцией -i или —interactive , Git перейдёт в интерактивный консольный режим, отобразив что-то подобное:

$ git add -i staged unstaged path 1: unchanged +0/-1 TODO 2: unchanged +1/-1 index.html 3: unchanged +5/-1 lib/simplegit.rb *** Commands *** 1: [s]tatus 2: [u]pdate 3: [r]evert 4: [a]dd untracked 5: [p]atch 6: [d]iff 7: [q]uit 8: [h]elp What now>

Вы можете видеть, что эта команда показывает вашу область подготовленных изменений в уникальном представлении — вообще говоря, ту же информацию вы получите с помощью команды git status , но несколько более сжато и информативно. Эта команда показывает проиндексированные изменения слева, а непроиндексированные — справа.

Затем следует раздел со списком команд. С их помощью вы можете выполнить множество вещей — добавить или исключить файлы из индекса, добавить в индекс части файлов, добавить в индекс неотслеживаемые файлы и просмотреть проиндексированные изменения.

Добавление и удаление файлов из индекса

Если вы введете 2 или u в поле ввода What now> , скрипт спросит у вас какие файлы вы хотите добавить в индекс:

What now> u staged unstaged path 1: unchanged +0/-1 TODO 2: unchanged +1/-1 index.html 3: unchanged +5/-1 lib/simplegit.rb Update>>

Для добавления в индекс файлов TODO и index.html, вы можете ввести их номера:

Update>> 1,2 staged unstaged path * 1: unchanged +0/-1 TODO * 2: unchanged +1/-1 index.html 3: unchanged +5/-1 lib/simplegit.rb Update>>

Символ * у каждого из этих файлов означает, что файл выбран для индексирования. Если вы нажмёте Enter, не вводя ничего в поле ввода Update>> , Git добавит в индекс всё, чтобы было выбрано ранее:

Update>> updated 2 paths *** Commands *** 1: [s]tatus 2: [u]pdate 3: [r]evert 4: [a]dd untracked 5: [p]atch 6: [d]iff 7: [q]uit 8: [h]elp What now> s staged unstaged path 1: +0/-1 nothing TODO 2: +1/-1 nothing index.html 3: unchanged +5/-1 lib/simplegit.rb

Как вы можете заметить, сейчас файлы TODO и index.html добавлены в индекс, а файл simplegit.rb всё ещё нет. Если вы в этот момент хотите исключить файл TODO из индекса, вы можете использовать опции 3 или r (для выполнения revert):

*** Commands *** 1: [s]tatus 2: [u]pdate 3: [r]evert 4: [a]dd untracked 5: [p]atch 6: [d]iff 7: [q]uit 8: [h]elp What now> r staged unstaged path 1: +0/-1 nothing TODO 2: +1/-1 nothing index.html 3: unchanged +5/-1 lib/simplegit.rb Revert>> 1 staged unstaged path * 1: +0/-1 nothing TODO 2: +1/-1 nothing index.html 3: unchanged +5/-1 lib/simplegit.rb Revert>> [enter] reverted one path

Посмотрев снова на состояние вашего рабочего каталога Git, вы увидите, что файл TODO исключён из индекса:

*** Commands *** 1: [s]tatus 2: [u]pdate 3: [r]evert 4: [a]dd untracked 5: [p]atch 6: [d]iff 7: [q]uit 8: [h]elp What now> s staged unstaged path 1: unchanged +0/-1 TODO 2: +1/-1 nothing index.html 3: unchanged +5/-1 lib/simplegit.rb

Для того, чтобы посмотреть изменения, которые вы добавили в индекс, вы можете использовать команду 6 и d (для выполнения diff). Она покажет вам список добавленных в индекс файлов, и вы можете выбрать один из них, для которого вы хотите увидеть добавленные в индекс изменения. Это очень похоже на вывод команды git diff —cached :

*** Commands *** 1: [s]tatus 2: [u]pdate 3: [r]evert 4: [a]dd untracked 5: [p]atch 6: [d]iff 7: [q]uit 8: [h]elp What now> d staged unstaged path 1: +1/-1 nothing index.html Review diff>> 1 diff --git a/index.html b/index.html index 4d07108..4335f49 100644 --- a/index.html +++ b/index.html @@ -16,7 +16,7 @@ Date Finder 

.

-
contact : support@github.com
+
contact : email.support@github.com

Использование этих основных команд в интерактивном режиме команды add, может упростить вам работу с вашей областью подготовленных изменений.

Индексирование по частям

В Git существует возможность индексировать не только файлы целиком, но и некоторые их части. Например, если вы сделали в файле simplegit.rb два изменения и хотите добавить в индекс только одно из них, добиться этого в Git очень легко. В поле ввода в режиме интерактивного индексирования введите 5 или p (для выполнения patch). Git спросит у вас какие файлы вы хотите добавить в индекс частично; а затем для каждой части выбранных файлов он будет показывать изменения в ней и спрашивать хотите ли вы добавить в индекс эту часть:

diff --git a/lib/simplegit.rb b/lib/simplegit.rb index dd5ecc4..57399e0 100644 --- a/lib/simplegit.rb +++ b/lib/simplegit.rb @@ -22,7 +22,7 @@ class SimpleGit end def log(treeish = 'master') - command("git log -n 25 #") + command("git log -n 30 #") end def blame(path) Stage this hunk [y,n,a,d,/,j,J,g,e,?]?

В этой точке у вас есть множество вариантов дальнейших действий. Если вы введёте ? , Git отобразит, что именно вы можете сделать:

Добавить в индекс эту часть [y,n,a,d,/,j,J,g,e,?]? ? y - добавить в индекс эту часть n - не добавлять в индекс эту часть a - добавить в индекс эту и все оставшиеся в этом файле части d - не добавлять в индекс эту и все оставшиеся в этом файле части g - перейти к некоторой части файла (g - показывает список частей и затем выполняет переход, g - перейти к части N) / - найти часть, соответствующую регулярному выражению j - отложить принятие решения по этой части, перейти к следующей части, решение по которой не принято J - отложить принятие решения по этой части, перейти к следующей части k - отложить принятие решения по этой части, перейти к предыдущей части, решение по которой не принято K - отложить принятие решения по этой части, перейти к предыдущей части s - разбить текущую часть на части меньшего размера e - вручную отредактировать текущую часть ? - отобразить помощь

Обычно вы будете вводить y или n , если вы хотите индексировать каждую часть по отдельности, но индексация всех частей в некоторых файлах или откладывание решения по индексацию части также может быть полезным. Если вы добавили в индекс одну часть файла, но не добавили другую, состояние вашего рабочего каталога будет подобно приведённому далее:

What now> 1 staged unstaged path 1: unchanged +0/-1 TODO 2: +1/-1 nothing index.html 3: +1/-1 +4/-0 lib/simplegit.rb

Обратите внимание на состояние файла simplegit.rb . Оно говорит вам, что часть строк файла добавлена в индекс, а часть нет. Таким образом, вы частично проиндексировали этот файл. В данный момент вы можете выйти из интерактивного режима команды git add и выполнить git commit , чтобы зафиксировать частично проиндексированные файлы.

Также вам не обязательно находиться в интерактивном режиме индексирования файлов для выполнения частичной индексации файлов — вы также можете запустить её, используя команды git add -p или git add —patch .

Более того, вы можете использовать работу с отдельными частями файлов для частичного восстановления файлов с помощью команды reset —patch , для переключения частей файлов с помощью команды checkout —patch и для припрятывания частей файлов с помощью stash save —patch . Мы рассмотрим каждую из этих команд более подробно, когда будем изучать более продвинутые варианты их использования.

Сохранение работы с фиксациями

Git не создает автоматически моментальные снимки вашей работы при изменении файлов в репозитории. Вы сообщаете Git, какие изменения файлов вы хотите записать в snapshot путем промежуточного хранения определенных изменений. После промежуточного хранения вы сохраните snapshot, выполнив фиксацию.

В этой статье приведены процедуры для выполнения следующих задач:

  • Как Git отслеживает изменения
  • Что находится в фиксации
  • Как подготовить изменения
  • Создание фиксации
  • Обновление последней фиксации

Общие сведения о рабочем процессе Git см. в руководстве по Azure Repos Git.

Как Git отслеживает изменения

При работе в репозитории Git отслеживает изменения во всех отслеживаемых файлах. Отслеживаемые файлы — это файлы, которые в настоящее время находятся в стадии или включены в предыдущую фиксацию. Git разделяет отслеживаемые файлы на три категории:

  • Неизмененные файлы — файлы, которые не изменялись с момента последней фиксации.
  • Измененные файлы — файлы, которые были изменены с момента последней фиксации, но не были подготовлены для следующей фиксации.
  • Промежуточные файлы — файлы, измененные с момента последней фиксации и подготовленные для следующей фиксации.

Снимок экрана: жизненный цикл файлов в репозитории между тремя состояниями.

При создании фиксации для snapshot используются только промежуточные и неизмененные файлы. Изменения без тегов в измененных файлах сохраняются, но snapshot содержит неизмененную версию этих файлов. Git не отслеживает изменения в новых файлах и не включает новые файлы в snapshot, пока вы их не подготовите.

Фиксации создаются в локальном репозитории Git. Каждая фиксация не обязательно должна быть идеальной, и для выполнения предполагаемого изменения может потребоваться несколько фиксаций. Создавайте фиксации по мере работы, а по завершении вы можете отправить фиксации в удаленный репозиторий, чтобы поделиться своей работой с другими пользователями.

Что находится в фиксации

Каждая фиксация содержит следующие сведения:

  • Snapshot всех отслеживаемых файлов в репозитории во время фиксации. Snapshot не является разницей между фиксациями, хотя Git использует моментальные снимки для вычисления разницы. Моментальные снимки обеспечивают быстрое переключение между ветвями и поддерживают слияние ветвей.
  • Ссылка на родительские фиксации. Большинство фиксаций имеют один родительский элемент, но следующая фиксация после слияния ветвей имеет несколько родительских элементов, а первая фиксация в репозитории не имеет никакого значения.
  • Сообщение, описывающее изменения в фиксации. Вы вводите сообщение при создании фиксации.

Git использует snapshot и родительские ссылки каждой фиксации для ведения полной записи о разработке в репозитории. Чтобы изучить изменения в коде, можно просмотреть журнал Git репозитория.

Как подготовить изменения

Чтобы создать snapshot для фиксации, выполните приведенные далее действия.

  • Подготовьте новые файлы, чтобы сообщить Git, что вы хотите добавить их в snapshot, и вы хотите, чтобы Git отслеживал изменения в этих файлах в будущем.
  • Подготовьте измененные файлы, чтобы сообщить Git, что вам нужна измененная версия файла в snapshot, а не не измененная версия файла.
  • Подготовьте удаленные файлы, чтобы сообщить Git, что вы хотите удалить их из snapshot и больше не отслеживать.

Чтобы исключить временные файлы, файлы журналов или другие файлы из snapshot, можно настроить Git на пропуск определенных файлов.

Git поддерживает интерактивное промежуточное хранение измененных файлов, поэтому вы можете внести определенные изменения в файл. Это полезная функция, когда требуется изменить файлы в разных фиксациях.

  • Visual Studio 2022
  • Visual Studio 2019 — меню Git
  • Visual Studio 2019 — командная Обозреватель
  • Командная строка Git

Visual Studio 2022 предоставляет возможности управления версиями Git с помощью меню Git, изменений Git и контекстных меню в Обозреватель решений. Visual Studio 2019 версии 16.8 также предлагает пользовательский интерфейс Git для команды Обозреватель. Дополнительные сведения см. на вкладке Visual Studio 2019 — team Обозреватель.

В окне Изменения Git щелкните правой кнопкой мыши файл в разделе Изменения и выберите Этап , чтобы добавить его в раздел Промежуточные изменения .

Снимок экрана: параметр

Вы также можете создать измененный файл, щелкнув знак «плюс» рядом с файлом. Чтобы подготовить все измененные файлы в папке, щелкните знак «плюс» рядом с папкой. Чтобы подготовить все измененные файлы в репозитории, выберите знак «плюс» в правом верхнем углу раздела Изменения .

Вы можете указать Git игнорировать файл, щелкнув его правой кнопкой мыши и выбрав Пропустить этот локальный элемент или Пропустить это расширение. Любая команда создает GITIGNORE-файл в репозитории, если он не существует, и добавляет в него запись. Пропущенные файлы не будут отображаться в разделе Изменения в Visual Studio. Однако файл .gitignore не влияет на отслеживаемые файлы. Сведения о том, как настроить Git для игнорирования отслеживаемых файлов, см. в разделе Игнорировать файлы. Чтобы сэкономить время, можно скачать шаблоны .gitignore для различных сред разработки из репозитория GitHub gitignore .

Начиная с Visual Studio 2022 версии 17.3, Visual Studio поддерживает промежуточные частичные изменения в файле. Дополнительные сведения см. в разделе Этап строк кода в Visual Studio.

Visual Studio 2019 предоставляет возможности управления версиями Git с помощью меню Git, изменений Git и контекстных меню в Обозреватель решений.

В окне Изменения Git щелкните правой кнопкой мыши файл в разделе Изменения и выберите Этап , чтобы добавить его в раздел Промежуточные изменения .

Снимок экрана: параметр

Вы также можете создать измененный файл, щелкнув знак «плюс» рядом с файлом. Чтобы подготовить все измененные файлы в папке, щелкните знак «плюс» рядом с папкой. Чтобы подготовить все измененные файлы в репозитории, выберите знак «плюс» в правом верхнем углу раздела Изменения .

Вы можете указать Git игнорировать файл, щелкнув его правой кнопкой мыши и выбрав Пропустить этот локальный элемент или Пропустить это расширение. Любая команда создает GITIGNORE-файл в репозитории, если он не существует, и добавляет в него запись. Пропущенные файлы не будут отображаться в разделе Изменения в Visual Studio. Однако файл .gitignore не влияет на отслеживаемые файлы. Сведения о том, как настроить Git для игнорирования отслеживаемых файлов, см. в разделе Игнорировать файлы. Чтобы сэкономить время, можно скачать шаблоны .gitignore для различных сред разработки из репозитория GitHub gitignore .

Visual Studio 2019 версии 16.8 и более поздних версий предоставляет возможности управления версиями Git при сохранении пользовательского интерфейса Team Обозреватель Git. Чтобы использовать командную Обозреватель, снимитефлажокСервис> Параметры >Предварительный просмотр функций>Новый пользовательский интерфейс Git в строке меню. Функции Git можно использовать из любого интерфейса взаимозаменяемо.

  1. В командной Обозреватель нажмите кнопку Домой и выберите Изменения. Снимок экрана: параметр
  2. В представлении Изменения щелкните правой кнопкой мыши файл в разделе Изменения и выберите Этап , чтобы добавить его в раздел Промежуточные изменения . Снимок экрана: контекстное меню с параметром Вы также можете создать измененный файл, перетащив его из раздела Изменения в раздел Промежуточные изменения . Чтобы подготовить все измененные файлы в папке, щелкните правой кнопкой мыши папку и выберите пункт Этап. Чтобы подготовить все измененные файлы в репозитории, выберите знак «плюс» в правом верхнем углу раздела Изменения .

Вы можете указать Git игнорировать файл, щелкнув его правой кнопкой мыши и выбрав Пропустить этот локальный элемент или Пропустить это расширение. Любая команда создает GITIGNORE-файл в репозитории, если он не существует, и добавляет в него запись. Пропущенные файлы не будут отображаться в разделе Изменения в Visual Studio. Однако файл .gitignore не влияет на отслеживаемые файлы. Сведения о том, как настроить Git для игнорирования отслеживаемых файлов, см. в разделе Игнорировать файлы. Чтобы сэкономить время, можно скачать шаблоны .gitignore для различных сред разработки из репозитория GitHub gitignore .

Visual Studio 2019 не поддерживает промежуточные частичные изменения в файле.

Для размещения всех отслеживаемых и неотслеченных файлов в репозитории, которые были изменены с момента последней фиксации git add , используйте команду с флагом —all . —all Однако флаг не будет создавать файлы, которые вы настроили для пропуска в Git.

git add --all 

Изменения в определенных файлах можно выполнить с помощью следующей команды.

git add

Вы можете в интерактивном режиме подготовить части измененного файла с помощью —patch параметра .

git add --patch

Другие связанные команды Git:

  • git rm для удаления файлов в репозитории и поэтапного изменения.
  • git mv для перемещения или переименования файлов в репозитории и поэтапного изменения.
  • git status для просмотра текущего состояния изменений в репозитории.

После промежуточной подготовки файлов просмотрите промежуточные и незамеченные изменения, выполнив команду git status .

Создание фиксации

  • Visual Studio 2022
  • Visual Studio 2019 — меню Git
  • Visual Studio 2019 — Обозреватель команды
  • Командная строка Git

В окне Git Changes (Изменения Git ) введите сообщение с описанием промежуточных изменений, а затем выберите Зафиксировать промежуточные изменения.

Снимок экрана: ссылка на сведения о фиксации в Visual Studio.

Щелкните ссылку фиксации для сведений о фиксации.

Снимок экрана: ссылка сведений о фиксации в окне

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

Снимок экрана: параметр

В окне Git Changes (Изменения Git ) введите сообщение с описанием промежуточных изменений, а затем выберите Зафиксировать промежуточные изменения.

Снимок экрана: ссылка на сведения о фиксации в Visual Studio.

Щелкните ссылку фиксации для сведений о фиксации.

Снимок экрана: ссылка сведений о фиксации в окне

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

Снимок экрана: параметр

  1. В представлении Изменениякоманды Обозреватель введите сообщение с описанием промежуточных изменений, а затем выберите Зафиксировать поэтапно. Снимок экрана: текст сообщения о фиксации и кнопка
  2. Щелкните ссылку фиксации для сведений о фиксации. Снимок экрана: ссылка на сведения о фиксации в

Снимок экрана: параметр

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

Вы можете создать фиксацию git commit с помощью команды с -m флагом , чтобы указать сообщение фиксации. Если вы не предоставите сообщение о фиксации, Git откроет редактор, чтобы вы могли его предоставить.

git commit -m "" 

Перед фиксацией просмотрите промежуточные и незамеченные изменения, выполнив команду git status .

Обновление последней фиксации

Git поддерживает изменение промежуточных файлов или сообщений последней фиксации. Эта операция заменяет последнюю фиксацию новой фиксацией, которая объединяет промежуточные файлы из обеих фиксаций и использует новое сообщение фиксации. Изменение фиксации полезно, если вы забыли подготовить файл или в последнем сообщении о фиксации есть опечатка.

Не изменяйте уже отправленную фиксацию, так как это приведет к проблемам синхронизации с удаленным репозиторием. Для принудительной фиксации используйте одну из следующих стратегий:

  • Создайте и отправьте другую фиксацию, которая устраняет проблемы, вызванные предыдущей фиксацией.
  • Отмените отправленную ранее фиксацию, используя git revert для создания новой фиксации, которая отменяет все изменения, внесенные предыдущей фиксацией. Затем отправьте новую фиксацию.
  • Visual Studio 2022
  • Visual Studio 2019 — меню Git
  • Visual Studio 2019 — Обозреватель команды
  • Командная строка Git

В окне Git Changes (Изменения Git ) при необходимости разверните один или несколько файлов, введите сообщение о фиксации, нажмите кнопку Изменить, а затем выберите Зафиксировать поэтапно.

Снимок экрана: параметр

Окно «Изменения Git» поддерживает изменение сообщения фиксации, промежуточных файлов или и того, и другого. При нажатии кнопки Изменить отображается идентификатор SHA для предыдущей фиксации.

В окне Git Changes (Изменения Git ) при необходимости разверните один или несколько файлов, введите сообщение о фиксации, нажмите кнопку Изменить, а затем выберите Зафиксировать поэтапно.

Снимок экрана: параметр

Окно «Изменения Git» поддерживает изменение сообщения фиксации, промежуточных файлов или и того, и другого. При нажатии кнопки Изменить отображается идентификатор SHA для предыдущей фиксации.

В представлении Изменениякоманды Обозреватель на этапе одного или нескольких файлов введите сообщение о фиксации, а затем выберите Действия > Изменить предыдущую фиксацию.

Снимок экрана: параметр

Команда Обозреватель не поддерживает изменение сообщения фиксации без внесения изменений в один или несколько промежуточных файлов.

  1. Подготовьте новые изменения, если таковые есть.
  2. git commit Используйте команду с параметром —amend и флагом -m , чтобы указать новое сообщение о фиксации.
git commit --amend -m "" 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *