Как изменить фиксацию Git с помощью опции изменения

How Change Git Commit Using Amend Option



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

Предпосылки:

Установите GitHub Desktop.

GitHub Desktop помогает пользователю git графически выполнять задачи, связанные с git. Вы можете легко загрузить последнюю версию установщика этого приложения для Ubuntu с github.com. Вы должны установить и настроить это приложение после загрузки, чтобы использовать его. Вы также можете проверить руководство по установке GitHub Desktop в Ubuntu, чтобы правильно узнать процесс установки.







Создайте учетную запись GitHub

Вам потребуется создать учетную запись GitHub, чтобы проверять вывод команд на удаленном сервере.



Создайте локальный и удаленный репозиторий

Вам необходимо создать локальный репозиторий и опубликовать репозиторий на удаленном сервере, чтобы протестировать команды, используемые в этом руководстве. Перейдите в папку локального репозитория, чтобы проверить команды, используемые в этом руководстве.



Измените последний коммит:

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





$git commit

Следующий вывод показывает, что есть два неотслеживаемых файла с именами booklist.php а также booktype.php.



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

$git добавитьbooklist.php

$git commit 'файл списка книг добавлен'.

$git добавитьbooktype.php

$git commit 'файл типа книги добавлен'.

$git commit

Следующий вывод показывает, что booklist.php а также booktype.php файлы добавляются с сообщениями фиксации. Затем, когда вывод команды фиксации показывает, что рабочее дерево чистое.

Вы можете изменить последнее сообщение фиксации, используя редактор или выполнив команду терминала. Запустите следующий ` git commit `команда с -исправлять возможность изменить последнее сообщение фиксации с помощью текстового редактора.

$git commit --исправлять

Следующий редактор откроется после выполнения указанной выше команды для изменения последнего сообщения фиксации.

Выполните следующую команду, чтобы изменить последнее сообщение фиксации с терминала.

$git commit --исправлять 'Файл типа книги снова изменился'.

Выходные данные показывают, что последнее сообщение фиксации изменилось на Файл типа книги снова изменился.

Измените старую фиксацию:

Более старую фиксацию или несколько коммитов можно изменить с помощью команд `git rebase` и` git commit –amend`. Команда rebase используется для перезаписи истории коммитов, но не рекомендуется использовать ее для тех коммитов, которые уже опубликованы на удаленном сервере. Команда rebase используется с количеством коммитов для изменения нескольких коммитов git. Выполните следующую команду, чтобы изменить два последних сообщения фиксации. После выполнения команды откроется редактор с двумя последними сообщениями о фиксации.

$git rebase ГОЛОВА ~2

В следующих выходных данных показаны два последних сообщения фиксации репозитория со значениями фиксации SHA.

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

Сообщение фиксации теперь можно изменить в редакторе. Вот сообщение, Файл списка книг добавлен . изменился на Файл списка книг изменен.

Если вы снова запустите команду rebase, вы увидите измененное сообщение фиксации в редакторе, как на следующем изображении.

Добавьте изменения в последний коммит:

Предположим, что booklist.php файл был изменен после фиксации в репозитории. Теперь выполните следующую команду, чтобы снова добавить файл и изменить сообщение фиксации для этого добавления, используя команду ` git commit `команда с -исправлять вариант.

$git добавитьbooklist.php

$git commit --исправлять 'Файл списка книг обновлен'.

Следующий вывод появится после выполнения вышеуказанных команд.

Если вы не хотите изменять предыдущее сообщение фиксации после повторного добавления файла, вы должны использовать параметр –no-edit с параметром -исправлять вариант с ` git commit `команда. Следующая команда добавит измененный файл в репозиторий без изменения сообщения фиксации.

$git commit --исправлять --нет-редактировать

После завершения всех изменений в локальном репозитории вы можете отправить локальный контент на удаленный сервер, выполнив команду push с терминала или открыв репозиторий в приложении GitHub Desktop. Предположим, вы открыли репозиторий на рабочем столе GitHub и нажали опцию «Опубликовать репозиторий». В этом случае появится следующее диалоговое окно для публикации измененного содержимого локального репозитория на удаленном сервере.

Заключение:

Использование параметра –amend для изменения одного или нескольких коммитов git было описано в этом руководстве с использованием демонстрационного репозитория. Здесь показан способ изменения фиксации с изменением или без изменения сообщения фиксации, чтобы помочь пользователю git понять цель использования параметра –amend и применить его в репозитории git для изменения фиксации.