Как добавить скрытые коммиты? - PullRequest
0 голосов
/ 23 июня 2019

У меня есть проект с большим количеством коммитов.Я хотел бы добавить что-то в этот проект, но я не хочу иметь новые коммиты в истории, но вместо этого я хотел бы иметь его с последней датой.

Я знаю, что могу использовать git rebase, но позволяет создать один коммит только с первой датой.

Мой пример:

  • Первый коммит (other_author, на мастере) - 2019-06-23 10:00:00
  • Второй коммит (other_author, на мастере) - 2019-06-23 11: 00: 00
  • Третий коммит (other_author, на мастере) - 2019-06-23 12:00:00

Теперь я хотел бы начать свою работу.Я добавляю два новых коммита:

  • Четвертый коммит (я, в разработке) - 2019-06-23 14: 00: 00
  • Пятый коммит (я, в разработке) - 2019-06-23 15: 00: 00

И я помещаю это в хранилище.На следующий день я хотел бы добавить следующий коммит:

  • Шестой коммит (я, в разработке) - 2019-06-24 10: 00: 00

А теперь... Что я должен сделать, чтобы иметь эту историю на мастере:

  • Первый коммит (other_author, на мастере) - 2019-06-23 10: 00: 00
  • Второй коммит(other_author, на мастере) - 2019-06-23 11: 00: 00
  • Третий коммит (other_author, на мастере) - 2019-06-23 12: 00: 00
  • Последний коммит(я, на мастере) - 2019-06-24 10:00:00 (содержит четвертый, пятый и шестой коммиты от разработки)

Точные часы не имеют значения.Я просто хочу скрыть даты предыдущих коммитов и иметь только один коммит с последней датой.

Ответы [ 4 ]

0 голосов
/ 25 июня 2019

Если вы уже продвинулись к удаленному репо, тогда вам лучше всего использовать предложенное выше предложение сквоша, когда вы объединяетесь с мастером. Это даст вам один коммит на мастера.

Вы не хотите изменять историю в удаленном репо после нажатия на нее. Это такая плохая идея, я даже не буду упоминать, как это сделать.

Если вы не продвинулись к удаленному репо, то предложения, приведенные выше с использованием --amend, являются хорошей идеей.

0 голосов
/ 23 июня 2019

Вы можете изменить коммит каждый раз и нажать его, когда он будет готов.

например

 git commit --amend --no-edit 
0 голосов
/ 23 июня 2019

Вы можете использовать merge --squash, чтобы получить только один коммит из всех них, но это будет новый коммит.

0 голосов
/ 23 июня 2019

Вы можете добавить --amend к вашей команде коммита, чтобы зафиксировать и изменить сообщение последнего коммита, без добавления нового.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...