Я пытаюсь создать cronjob для резервного копирования всей моей конфигурации Jenkins в git. Единственное, что мне нужно отслеживать в моем репозитории, - это config.xml
в каждом проекте Jenkins. Файловая система структурирована как ../jenkins/jobs/[PROJECTNAME]/config.xml
. .git
находится на рабочих местах..gitignore сохранить один файл
Я не хочу явно игнорировать все другие папки/файлы, но разрешать только config.xml
в этом месте. Я придумал следующий рабочий раствор:
*
!.gitignore
!config.xml
!*/
*/workspace
*/modules
/config-history
*/config-history
*/*/config-history
*/*/*/config-history
*/*/*/*/config-history
*/*/*/*/*/config-history
*/*/*/*/*/*/config-history
*/*/*/*/*/*/*/config-history
Неудачный есть много проектов и git add .
занимает некоторое время. Игнорировать workspace
, непосредственно с большинством файлов, не добавили никакой пользы.
КПП. интуитивный и короткий путь не работает вообще:
*
!.gitignore
!*/config.xml
Любые идеи либо оптимизировать мой .gitignore или мой мерзавец добавить без перечисления всех файлов в любом случае?
Я быстро попробовал ваш подход на образце репо, но это не работает в подкаталогах? В любое время добавляются новые проекты, и, конечно же, я хочу создать резервную копию также нового файла config.xml. Имейте в виду, что конфигурации находятся в /[projectname]/config.xml относительно git. – mheinzerling
'git add' недвусмыслен. Единственная причина, по которой * вам нужен .gitignore, заключается в том, что вместо добавления файла, который вы хотите добавить, вы добавляете весь каталог, содержащий файл. Таким образом: вы все еще делаете «git add.»? Вы действительно не должны. –
Я не понимаю. См. Мой пример: '> mkdir gittest > cd gittest \ gittest> git init. инициализирован пустой репозиторий Git в C: /Users/User/gittest/.git/ \ gittest> эхо "хх"> config.xml \ gittest> MkDir югу \ gittest> кд суб \ gittest \ суб> эхо " xx2 "> config.xml \ gittest \ sub> echo" xx4 "> other.xml \ gittest \ sub> cd .. \ gittest> git add -n. add 'config.xml' add 'sub/config.xml' Добавить 'sub/other.xml ' \ gittest> git add -n config.xml add' config.xml'' (Скопируйте его, чтобы прочитать его :)) – mheinzerling