Как да промените Git Commit с помощта на опцията Amend

How Change Git Commit Using Amend Option



Файлът ` git commit `команда се използва за потвърждаване на всички промени, направени в хранилището, и git съхранява историята на всяка ангажирана задача. Понякога потребителят трябва да промени съобщението за ангажименти преди или след публикуването на хранилището. Потребителят изисква да пренапише историята на git, за да промени по -стария или по -новия ангажимент на хранилището. The - поправете опцията се използва с ` 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 за промяна на ангажимента.