Указание того, какой git-репо использовать

У меня есть сценарий bash, называемый cgit, который действует как git для одного конкретного git- репо (находится в /.git ):

 #!/bin/bash cd /; sudo git $@ > /dev/stdout 

Я использую его для отслеживания важных системных файлов:

 cgit add /etc/rc.conf 

Проблема в том, что я пытаюсь добавить контент по отношению к каталогу, в котором я работаю, например:

 cd /home/user cgit add .ssh/config 

cgit попытается добавить /.ssh/config в /.git repo.

Любые предложения или обходы?

2 Solutions collect form web for “Указание того, какой git-репо использовать”

Я бы обновил скрипт cgit для использования --git-dir . С man-страниц:

  --git-dir=<path> Set the path to the repository. This can also be controlled by setting the GIT_DIR environment variable. It can be an absolute path or relative path to current working directory. 

Таким образом, это станет следующим:

 #!/bin/bash sudo git --git-dir=/.git $@ > /dev/stdout 

FTR, я не пробовал.

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

Очень приятной особенностью в системах на базе Debian является то, что он связан с возможностью автоматического фиксации до и после установки или обновления пакетов. Это помогает отличить изменения, которые вы сделали от тех, которые были сделаны обновлениями пакетов. Он также (необязательно) делает ежедневную автосогласование.

  • Проблемы UTF-8 при отправке файлов формата git format-patch с помощью mutt
  • Как публиковать git-репо через HTTP с помощью nginx?
  • Как определить и убить услуги прослушивания git здесь?
  • Просмотр резервной копии bup с помощью gitk или gitg
  • git архив фатальный: операция не поддерживается протоколом
  • Git pull в среде linux изменяет владельца файлов
  • Git Server: игнорировать пробельные изменения в новых коммитах
  • Можно ли удалить «ssh: //» из URL-адресов git remote?
  • Как применить этот патч revert commit от git?
  • Жизненный цикл мастера Git и Puppet
  • Как установить последнюю версию git на Debian 8?
  • Clone repos с похожим именем
  • Linux и Unix - лучшая ОС в мире.