может git менеджер файлов из разных сгибов - PullRequest
1 голос
/ 15 апреля 2020

Я хочу управлять всеми своими файлами конфигурации в одном репо на Github.

например, у меня есть 3 папки: папка A, папка B, папка C

папка A имеет файл: confA

в папке B есть файл: confB

в папке C есть файл: conf C

в папке A

git init
git remote add origin repoURL
git add confA
git commit -m "adding confA"
git push -u origin master

, сейчас в репо Github, есть configA

, когда я делаю то же самое с папкой B

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

error: failed to push some refs to 'xxxxxx'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

В этом проблема Я не хочу иметь копию репо в моих папках, просто pu sh один файл в папках для удаленного репо.

и папки конфигурации есть везде, в нем также есть другие файлы.

, и репо для каждого файла конфигурации также не является хорошим вариантом для меня.

1 Ответ

1 голос
/ 16 апреля 2020

Звучит так, как будто вы хотите управлять несколькими файлами конфигурации, но нецелесообразно иметь один большой всеобъемлющий репозиторий, который охватывает все файлы. Примером этого может быть, если они все живут в разных местах в /etc.

. Это можно сделать с помощью Git, но это требует немного другого подхода. Вы можете создать один репозиторий в другом месте (скажем, там, где вы обычно храните репозитории) и поместить все файлы конфигурации там, где вам нравится. Затем вы можете использовать скрипт или Makefile для установки измененных версий в нужное место. Если невозможно предотвратить их изменение в их текущем местоположении, у вас может быть скрипт, который копирует их из этого местоположения в репозиторий, а затем фиксирует их, как вам нравится.

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...