Как добавить задачу Jira в прошлую фиксацию в исходном дереве или битбакете?

Я непреднамеренно зафиксировал код без билета JIRA в сообщении фиксации, и я не могу отправить какой-либо код. В прошлом, если это случалось, я использовал функцию «Изменить последнюю фиксацию» в исходном дереве, но это другая ситуация, когда ошибочная фиксация была двумя фиксациями назад, поэтому я не могу понять, как добавить проблему JIRA. билет на этот коммит. Чтобы объяснить проблему немного дальше, вот пример

  • Зафиксировать 1 сообщение (что-то сделал)
  • Commit 2 Message (снова что-то сделал JIRA-123)

Как исправить ошибку «Commit 1 Message»? Есть ли другой способ решить эту проблему? Спасибо!


person Seagull    schedule 21.11.2017    source источник


Ответы (2)


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

В исходном дереве:

  1. Щелкните правой кнопкой мыши фиксацию, которая старше той, которую вы хотите отредактировать, и выберите «Перебазировать дочерние элементы xxxx в интерактивном режиме...». Тот, который вы нажмете, будет вашей «базой», и вы сможете вносить изменения в каждый коммит, сделанный после этого.
  2. В новом окне выберите фиксацию, которую хотите отредактировать, и нажмите кнопку "Редактировать сообщение" внизу или просто дважды щелкните фиксацию.
  3. Отредактируйте сообщение и нажмите "ОК".
  4. Нажмите "ОК" (или "Отмена", если хотите прервать).

Ознакомьтесь с этим сообщением в блоге Atlassian, чтобы узнать больше об интерактивном перемещении в Sourcetree.

person jna    schedule 31.03.2020

Предполагая, что вы еще не нажали: используйте «интерактивную перебазировку» (git rebase -i). это вызовет редактор, в котором вы можете пометить эту 1-ю фиксацию как reword, затем вы получите второй редактор, где вы можете отредактировать сообщение фиксации.

person Matt McHenry    schedule 21.11.2017
comment
По какой-то причине этот конкретный список изменений не отображается в списке прошлых коммитов. Я хочу отметить, что этот конкретный коммит, который не отображается, был слиянием основной ветки с другой веткой (первоначально ответвленной от мастера) - person Seagull; 21.11.2017
comment
Перебазирование не помогло бы мне, поэтому я пошел дальше и, по сути, сделал сброс до предыдущего коммита :-( - person Seagull; 21.11.2017