МЕРЗАВЕЦ - как сохранить файл распространенным через все ответвления

Нажмите клавишу F8 для циклического повторения через результаты поиска. (Shift+F8 для обратного направления)

Хит F12 для движения в определение переменной.

Сдвиг + высокий звук + клавиши со стрелками = выбор Блока!

9
задан themis 9 December 2009 в 19:13
поделиться

4 ответа

Вы можете использовать ловушку после оформления заказа:

#!/bin/sh

newref="$2"
isbranch="$3"

# ignore file checkouts
if test $isbranch -eq 0; then
  exit 0
fi

path=ChangeLog

git for-each-ref --sort=-committerdate \
                 --format='%(objectname) %(refname:short)' \
                 refs/heads/\* |
while read sha ref; do
  if git rev-parse --verify --quiet "$sha:$path" >/dev/null
  then
    if test "$newref" != "$sha"; then
      echo Checking out $path from $ref
      git checkout $sha -- "$path"
    fi
    break
  fi
done

Вы все равно можете добавить и зафиксировать ChangeLog в своей ветке, если это необходимо.

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

8
ответ дан 4 December 2019 в 10:04
поделиться

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

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

С тех пор. Я перешел на git. Я отказался от ведения журнала изменений вручную. Для меня это не имело ценности и значительных затрат.

Нет причин не помещать полные описания в коммиты. С помощью - исправьте вы можете исправить орфографические ошибки и добавить детали,

7
ответ дан 4 December 2019 в 10:04
поделиться

Напишите обработчик после фиксации, чтобы объединить файл с другими ветвями. http://kernel.org/pub/software/scm/git/docs/githooks.html

2
ответ дан 4 December 2019 в 10:04
поделиться

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

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

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