Как отредактировать неправильное сообщение о фиксации в Подвижном? [дубликат]

/resource/ URI представляет вещь.
/page/ URI представляет читабельный документ о предмете.
/data/ URI представляет машиночитаемый документ об объекте.

(Это подход с кодом состояния HTTP 303. Подробнее. )

Итак, если вы хотите что-то сказать о городе / коммуне Рим, вам нужно использовать 113] URI.

333
задан Gangnus 19 July 2017 в 06:16
поделиться

5 ответов

Обновление: Подвижный добавил --amend, который должен быть предпочтительный вариант теперь .

<час>

можно откатывать последнюю фиксацию (но только последнюю) с hg rollback и затем повторно применить его.

Важный : это постоянно удаляет последнюю фиксацию (или получение по запросу). Таким образом, если Вы сделали hg update, что фиксация больше не находится в Вашем рабочем каталоге тогда, это пошло навсегда. Так делают копию сначала.

, Кроме которого, Вы не можете изменить историю репозитория (включая сообщения о фиксации), потому что все там проверено суммированием. Единственная вещь, которую Вы могли сделать, сократить историю после данного changeset и затем воссоздать ее соответственно.

Ни одно из этого не будет работать, если Вы уже опубликовали свои изменения (если Вы не можете овладеть всеми копиями), и Вы также не можете "переписать историю", которые включают фиксации GPG-со-знаком (другими людьми).

247
ответ дан Community 23 November 2019 в 00:43
поделиться

Ну, раньше я делал так:

Представьте, у вас 500 коммитов, а ваше сообщение об ошибочной фиксации находится в версии 498.

hg qimport -r 498:tip
hg qpop -a
joe .hg/patches/498.diff
(change the comment, after the mercurial header)
hg qpush -a
hg qdelete -r qbase:qtip
90
ответ дан 23 November 2019 в 00:43
поделиться

Откат и повторное применение - действительно простое решение, но оно может помочь только с последней фиксацией. Mercurial Queues - гораздо более мощная вещь (обратите внимание, что вам нужно включить Mercurial Queues Extension , чтобы использовать команды «hg q *»).

6
ответ дан 23 November 2019 в 00:43
поделиться

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

1
ответ дан 23 November 2019 в 00:43
поделиться

Как отмечали другие, расширение MQ гораздо лучше подходит для этой задачи, и вы не рискуете уничтожить свою работу. Для этого:

  1. Включите расширение MQ, добавив в hgrc примерно следующее:
    [extensions]
    mq =
    
  2. Обновитесь до набора изменений, который вы хотите отредактировать, обычно это:
    hg up 
    
  3. Импорт текущего набора изменений в очередь:
    hg qimport -r .
    
  4. Обновите патч и отредактируйте сообщение о фиксации:
    hg qrefresh -e
    
  5. Завершите все примененные патчи (один, в данном случае) и сохраните их как обычные наборы изменений:
    hg qfinish -a
    

Я не знаком с TortoiseHg, но команды должны быть похожи на приведенные выше. Я также считаю нужным упомянуть, что редактирование истории рискованно; вы должны делать это, только если вы абсолютно уверены, что набор изменений не был отправлен или вытащен откуда-либо ещё.

10
ответ дан 23 November 2019 в 00:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: