` 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 для изменения фиксации.