Як редагувати неправильне повідомлення про фіксацію за допомогою TortoiseGit?


106

Як я можу редагувати повідомлення про фіксацію за допомогою tortoiseGIT? Питання дуже схоже на це, але я хочу це робити з TortoiseGit, а не з консоллю, чи можливо?


Відповіді:


160

Якщо комітет - керівник поточної філії, це легко.

  1. Контекстне меню -> Git Commit
  2. Поставте прапорець "Змінити останню комісію"
  3. Виправте повідомлення про фіксацію
  4. гаразд

Якщо комітет є керівником іншої гілки, спочатку перейдіть на цю гілку.

  1. Контекстне меню -> TortoiseGit -> Switch / Checkout
  2. Виберіть назву філії
  3. гаразд
  4. Виконайте вище 1-4 кроки, щоб змінити повідомлення про фіксацію

Якщо фіксація знаходиться посередині без будь-якого злиття між головою, вам потрібно скинути, змінити та вишневий вибір

  1. Контекстне меню -> TortoiseGit -> Журнал
  2. Виберіть команду -> меню контексту -> Скинути
  3. Hard Reset ( це скасує всю роботу, що міститься в комітетах, що перевищують вибрану комісію, а також будь-які незахищені зміни в робочому каталозі )
  4. гаразд
  5. Виконайте вище 1-4 кроки, щоб змінити повідомлення про фіксацію
  6. Виберіть голову до одного комітету над ним -> контекстне меню -> вишня
  7. Продовжуйте

12
Мені дуже не вистачає "Редагувати повідомлення журналу" TortoiseSVN. Чи є шанс, що вони додадуть таку особливість?
Бенуа Бланшон

3
Я втрачений на кроці 6, що ви маєте на увазі під "Вибрати з голови на один комітет над ним" - це варіант у контекстному меню?
Флетузео

1
також втрачено на кроці 6. жоден варіант вибору вишні ніде, і я ні в якому разі не бачу прихильності вище (просто каже, що зміни в робочому режимі, яких насправді немає)
Роберт Іванч

13
Downvote, тому що я думаю, що пропозиції у випадку, коли фіксація знаходиться посередині, змусили мене відмовитись від зміни коду до цієї комісії, що становить кілька тижнів роботи.
Самуїл

8
ПОПЕРЕДЖЕННЯ: Використовуйте "Створити гілку в цій версії", щоб встановити тимчасове ім'я гілки перед скиданням на комісію, яку ви хочете змінити. В іншому випадку ви ризикуєте втратити всі зобов’язання вище цієї точки. (Якщо це вже трапилося з вами, git reflogдопоможе вам їх отримати).
Стів Пітчерс

19

У випадку, коли комісія знаходиться посередині, я настійно рекомендую не дотримуватися інструкцій, наданих linquize, дивіться коментарі нижче його відповіді.

  1. Ви можете використовувати командний рядок git з TortoiseGit, і це не спричинить жодних проблем: Чи можу я використовувати інструменти Git командного рядка та TortoiseGit одночасно? .

  2. Це відео на YouTube пояснює це дуже добре: http://youtu.be/4YjKY0u9Z6I . В основному використовуйте git rebase -i, а потім просто "переформулюйте" повідомлення фіксації.

Оновлення: Я вважаю, що ви можете отримати втрачені комісії із жорсткого скидання, запропонованого linquize, див. Тут відповідь Уейна: Як я можу переупорядкувати / об'єднати комітети за допомогою Git rebase? .


7
Домовились. git забирає мене неймовірно довго, щоб навчитися користуватися, SVN був таким простим. Концепція git проста, але її використання не є.
Самуїл

TortoiseGit також пропонує інтерактивну базу даних, для цього вам не потрібно використовувати командний рядок.
Пітер

13

Я б сказав, що найкращий спосіб змінити будь-яке повідомлення про фіксацію - використовувати force rebaseпараметр у tortoisegit.

Дивіться цю відповідь на тему, як упорядкувати комірки (перезавантажити) за допомогою TortoiseGit . Цей же спосіб можна використовувати для редагування повідомлень про фіксацію.

  • Коли ви знаходитесь у діалоговому вікні ребайки, клацніть правою кнопкою миші на об'єкті, який ви бажаєте відредагувати, та виберіть Editпараметр. Ви можете редагувати кілька комітетів.
  • Натисніть Start Rebaseкнопку.
  • Rebase зробить паузу при комісіях, які ви позначили Edit
  • Клацніть на Commit Messageвкладці внизу та відредагуйте повідомлення
  • Натисніть Amendкнопку, щоб продовжити
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.