Автоматически перепишите полную историю мерзавца для избавлений от простых фиксаций слияния

Я должен был добавить упаковку, таким образом:

mvn install:install-file \
  -DgroupId=javax.transaction \
  -DartifactId=jta \
  -Dversion=1.0.1B \
  -Dfile=jta-1.0.1B.jar \
  -DgeneratePom=true \
  -Dpackaging=jar
9
задан kenorb 18 July 2016 в 19:36
поделиться

2 ответа

In my opinion you should avoid the temptation to re-write history just to make it "look nice". There really is no point. The history, as it is, is a more accurate representation of reality and git's reporting tools are all designed to be useful even with lots of little merges.

If you're not interested in viewing a lot of merges you can suppress them from many reporting tasks, e.g.

git log --no-merges

What you're proposing (an evening of rebasing, presumably causing all developers to have to reset) seems like creating work for work's sake.

11
ответ дан 4 December 2019 в 13:03
поделиться

Я не уверен, насколько это может быть просто. Если вы выполните rebase -i , он попытается проигнорировать все слияния, что будет успешным для слияний без конфликта, но остановится и будет ждать вас, если возник конфликт.

Если вы вызовете его как rebase -i -p , с другой стороны, он сохранит слияния, что вы и хотите, когда пользователь выполнил настоящее слияние, но в противном случае полностью упускает суть.

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

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

Наша команда использует чисто основанный на слиянии рабочий процесс git

Что не так в том, чтобы всегда тянуть с - rebase ( например git pull -r )? Если вам нужна плоская топология, самый простой способ - не выполнять слияние, когда вы можете перебазировать.

Также: вы говорите, что хотите сгладить, только если «слияние чистое». Я просто размышляю здесь, но я не думаю, что git записывает конфликты постфактум, кроме примечания в сообщении фиксации по умолчанию, которого все еще может не быть.

вы говорите, что хотите сгладить, только если «слияние чистое». Я просто размышляю здесь, но я не думаю, что git записывает конфликты постфактум, кроме примечания в сообщении фиксации по умолчанию, которого все еще может не быть.

вы говорите, что хотите сгладить, только если «слияние чистое». Я просто размышляю здесь, но я не думаю, что git записывает конфликты постфактум, кроме примечания в сообщении фиксации по умолчанию, которого все еще может не быть.

5
ответ дан 4 December 2019 в 13:03
поделиться
Другие вопросы по тегам:

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