Другой прием - использовать независимую ветку, проверенную в поддереве вашего проекта, как это делает Джунио Хамано (текущий сопровождающий Git) с todo в Git.Поваренная книга:
$ cd project/
$ git branch
* master
$ git init META
Теперь вы можете создать свой «Список дел» и другие файлы в META/
$ cd META/
$ echo '* Item 1' > todo.org
$ git add todo.org
$ git commit -m 'Initial version of TODO file'
[master (root-commit) 64748ba] Initial version of TODO file
1 files changed, 1 insertions(+), 0 deletions(-)
create mode 100644 todo.org
Давайте также изменим имя ветви на meta
иотодвиньте его обратно в главный репозиторий:
$ git branch -m meta
$ git push .. meta
Вы должны будете помнить, что нужно отодвигать ветку после каждого коммита;настройка ловушки после фиксации может быть в следующем порядке.
META/
теперь отображается как неотслеживаемый файл в основном хранилище;давайте проигнорируем это локально:
$ cd ..
$ git status
# (Shows META/ as untracked)
$ echo META/ >> .git/info/exclude
Теперь вы можете переключать ветки по своему желанию, и META/
останется нетронутым - пока ветка, на которую вы переключаетесь, не содержит конфликтующий путь, конечно.1023 *
Основной репозиторий теперь содержит дополнительную, полностью независимую ветвь, которую можно перемещать и извлекать, как любую другую часть вашего проекта:
$ git branch
* master
meta
$ gitk --all