Вы можете отправить запрос частичного обновления с HTTP PATCH, который содержит только новое состояние.
PATCH /coffeemachines/{id}
{
status: "active"
}
Согласно Википедии :
Метод PATCH - это метод запроса, поддерживаемый протоколом HTTP для внесения частичных изменений в существующий ресурс. Метод PATCH предоставляет объект, содержащий список изменений, которые должны быть применены к ресурсу, запрошенному с использованием HTTP URI. Список изменений представлен в форме документа PATCH.
blockquote>Также удобнее разделять слова в пути с помощью дефисов. Например:
PATCH /coffee-machines/{id} { status: "active" }
Создайте свой патч через:
$ git format-patch master --stdout > patch.diff
тогда patch.diff будет содержать diff, который вы можете отправить кому-нибудь другому для применения, используя:
$ git am < patch.diff
Иногда, когда руководства немного плотные, имеет смысл поискать учебное пособие:
Правильный и простой способ сделать это, если вы используете Git, - через удаленные устройства:
cd \path\to\repo1
git remote add otherrepo \path\to\repo2
git fetch otherrepo
git log otherrepo/master ## Find the commit you want to steal in the list
git cherry-pick SOME_SHA1 ## Snag just one commit
git merge otherrepo/master ## Merge all of the new commits from otherrepo/master
Это перенесет коммитов из одного репо в другой, включая их авторов и фиксировать сообщения и поможет вам разобраться в конфликтах слияний (особенно если вы перемещаетесь> 1 коммит)
Вам нужно перейти в «хранилище 2», из которого вы хотите создать патч, и запустить git-format-patch, чтобы создать патч: git format-patch master --stdout> name_of_patch_file
Затем вы переходите в «хранилище 1», к которому вы хотите применить патч: git apply name_of_patch_file
Иногда полезно просто проверить, не вызовет ли патч проблемы: git apply --check name_of_patch_file
С Мерзавцем 2.25 (1 квартал 2020), git format-patch
развивается для лучше использования описания ответвления (" git branch --edit-description
") как предмет.
См. bf8e65b фиксации, a92331d фиксации, фиксация 46273df (15 октября 2019) [1 128] Denton Liu (Denton-L
) .
<глоток> (Объединенный [1 129] Junio C Hamano - gitster
- в [1 130] b75ba9b фиксации, 10 ноября 2019) глоток>
format-patch
: преподавайте--cover-from-description
опция<глоток> Signed-off-by: Denton Liu глоток>
Прежде, когда
format-patch
генерировал сопроводительное письмо, только тело, будет заполнен с описанием ответвления, в то время как предмет был бы заполнен с текстом заполнителя.Однако пользователи могут хотеть иметь предмет своего сопроводительного письма, автоматически заполненного таким же образом.
Учат патч формата принимать
--cover-from-description
опция и соответствующийformat.coverFromDescription
конфигурация, позволяя пользователям заполнить различные части сопроводительного письма ( включая предмет теперь ).
git config
документация теперь включает:
format.coverFromDescription:
режим по умолчанию для патча формата для определения, какие части сопроводительного письма будут заполнены с помощью описания ответвления.
И git format-patch
:
--cover-from-description=<mode>:
Средства управления, какие части сопроводительного письма будут автоматически заполнены с помощью описания ответвления.
, Если
<mode>
message
илиdefault
, предмет сопроводительного письма будет заполнен с текстом заполнителя.
тело сопроводительного письма будет заполнено с описанием ответвления. Это - режим по умолчанию, когда никакая конфигурация, ни параметр командной строки не указаны., Если
<mode>
subject
, первый абзац описания ответвления заполнит предмет сопроводительного письма.
остаток от описания заполнит тело сопроводительного письма., Если
<mode>
будетauto
, если первый абзац описания ответвления будет больше, чем 100 байтов, то режим будетmessage
, иначеsubject
, будет использоваться., Если
<mode>
none
, и предмет сопроводительного письма и тело будут заполнены с текстом заполнителя.
Самый простой способ создания патчей из последнего коммитата (или последних нескольких коммитов) является использование Format-Patch
с отрицательным числом, указывающим количество коммитителей для создания патчей для:
git format-patch -1
Получу патч-файл с именем после описания фиксации. Использование AM
, чтобы вставить его в другой репозиторий:
git am << name_of_patch_file