2014-01-12 5 views
1

Все еще изучая git и пытаясь использовать его для повседневной работы, в этом отношении у меня есть хранилище в кластере Linux, где нет резервной копии (это работает с протоколом ssh), и я бы хотел чтобы переместить его на другой сервер, где есть ночные резервные копии, однако мне не удается до этого момента (и это работает с протоколом https).переместить репозиторий на другой сервер

Что я сделал, чтобы добавить новое удаленное местоположение с

git remote add <name> https://server.info/directory.info 

и я исследовал, что мои новые пульты дистанционного управления там с

git remote -v 

я попытался создать пустой GIT репо под сервер, который я установил с помощью sshfs, однако там я получил следующие сообщения: git init

error: could not commit config file 
/home/utabak/webDataTU/staff-homes/t/utabak/vibroSys/.git/config 
error: could not commit config file 
/home/utabak/webDataTU/staff-homes/t/utabak/vibroSys/.git/config 
error: could not commit config file 
/home/utabak/webDataTU/staff-homes/t/utabak/vibroSys/.git/config 
error: could not commit config file 
/home/utabak/webDataTU/staff-homes/t/utabak/vibroSys/.git/config 
error: could not commit config file 
/home/utabak/webDataTU/staff-homes/t/utabak/vibroSys/.git/config 
Initialized empty Git repository in 
/home/utabak/webDataTU/staff-homes/t/utabak/vibroSys/.git/ 

Затем я попытался оттолкнуть локальный репозиторий, который я вытащил из оригинального репо с

git push webDataTU master 

и получил

fatal: https://path.info/info/refs not found: did you run git 
update-server-info on the server? 

впоследствии, я на стороне сервера

git update-server-info 

И исп.

git push webDataTU master 

и снова получил ту же ошибку.

Где моя ошибка?

+0

Похоже, что репозиторий не был должным образом создан в 'мерзавца init' стадии. Можете ли вы попытаться повторно инициализировать его непосредственно на сервере вместо SSHFS? – Chris

+0

хорошо, как я могу это сделать, точнее, есть ли способ сделать это с помощью ssh или https? –

+1

SSH на сервер, 'cd' в каталог, в котором вы хотите хранить свои репозитории, а затем' git init --bare repo-name.git'. – Chris

ответ

1

Не пытайтесь скопировать его или клонировать: слишком много файлов для передачи, и вам нужно вызвать Git с удаленного сервера.

Сделать простой bundle (git bundle):

cd /path/to/your/repo 
git bundle create ../repo.bundle --all 

Теперь у вас есть только один файл для передачи через новый сервер. Это чистая файловая операция (без участия Git).
И вы можете клонировать из этого файла, как только он будет скопирован в указанном новом сервере:

cd /path/to/bundle 
git clone repo.bundle 
+0

ok, thx, но это не сработало, так как я получаю сообщение об ошибке: не удалось зафиксировать файл конфигурации /home/utabak/webDataTU/staff-homes/t/utabak/vibroSys/.git/config fatal: 'origin' does not похоже, это репозиторий git фатальный: удаленный конец неожиданно повесил трубку –

+0

@UmutTabak какая команда вы набрали, чтобы получить такое сообщение об ошибке? Было ли это в вашем репо на вашем первом сервере? – VonC

+0

Я связал репо, как вы объясняли выше, не было проблем. Я скопировал файл . Ftund с ftp на свой локальный жесткий диск, а затем подключил общий диск с помощью sshfs [email protected]:/home/user/webDataTU /. После установки этого удаленного общего драйвера я скопировал пакет под этим общим диском, и я сделал «git clone vibroSys.bundle» в общей папке. Вот полное сообщение http://pastebin.com/raw.php?i=KM8jMx2M –

Смежные вопросы