(я видел тянуть / толкать из нескольких удаленных местоположений , но мой вопрос связан с чем-то немного другим, или, по крайней мере, настолько другим, что я не могу понять это.)
Iя пытаюсь написать сценарий, который создаст (частное) репо на GitHub, но я также хочу иметь всю историю фиксации и т. д. на другом сервере в качестве резервной копии на случай, если GitHub когда-либо взорвется, будет захвачен космическими пришельцами илив противном случае недоступен.Идея заключается в том, что если мы проснемся утром и не сможем больше использовать GitHub, я бы хотел просто указать на мой сервер и сделать его как можно более плавным.
ЧтоЯ знаю (или думаю, что знаю)
Я могу очень легко создать новый (частный) репо на GitHub.Я все понял, используя API GitHub, и, похоже, он работает нормально.(Я думал, что это будет очень сложная часть, но это было довольно легко.)
Я понимаю, что добавить эту часть:
git remote set-url origin --push --add <a remote>
git remote set-url origin --push --add <another remote>
Чего я не знаю
Проблема в том, что я не могу понять, как настроить репо на не-GitHub сервере.
У меня настроена учетная запись пользователя на удаленном сервере, и я могу ssh
использовать для этого шифрование с помощью открытого ключа ssh.Я могу просто выполнять команды на нем, и я даже могу вытащить из GitHub, используя мою личную учетную запись GitHub.
Однако я не могу понять, какие правильные команды являются для того, чтобынастройте исходный git-репозиторий так, чтобы он принимал изменения, которые я хочу push
.
Я пытался запустить git clone
и git pull
и git init
на сервере, но онивсе это приводило к ошибкам при попытке push
дополнительных изменений.
Я наконец-то запустил git init --bare
, который, кажется, работал так же, как и при отсутствии push
, но никаких ошибок нет«не git» файлы из репозитория фактически присутствуют в папке на сервере, это просто специфичные для git файлы:
HEAD
branches/
config
description
hooks/
info/
objects/
refs/
, поэтому, если GitHub исчезнет, у меня не будеткопия файлов на моем сервере, которая, кажется, не соответствует всей цели того, что я пытаюсь сделать.
Я был по всему Google и stackoverflow.com в поисках решений, но я должен бытьпропустить что-то фундаментальное здесь.У меня есть только базовые знания git
(достаточно, чтобы быть опасным, как говорится).
Спасибо за ваше время и внимание.
отредактировано, чтобы добавить: Спасибо VonC за ответ ниже, который разъяснил, что мне нужно было голым репо, но с другой функцией, как он описал, чтобы дать мне доступ к моим файлам в этом репо.Я думаю, что это именно то, что мне было нужно, но я не знал достаточно, чтобы просить.