Як редагувати неправильне повідомлення про фіксацію за допомогою 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.