LINUX.ORG.RU

git клонировать на удаленную машиу


0

1

Доброго всем для!
Есть такая проблема:
на билд машине лежат исходники, которые беру с svn (в той же локальной папке сделал git). Хочу их перенести на машину заказчика (с возможностью синхронизации). К заказчику есть доступ по ssh.
1. Можно ли сделать клон моего репозитония на удаленныю машину (обычно, клонируют с удаленного репозитория)?
2. Если на удаленной машине заказчика создан репозиторий с устаревшими исходниками (и опцией в конфиге [receive] denyCurrentBranch = ignore), как туда залить новые? сделал git remote add.., git fetch.., а когда говорю git push - ругается на 'non-fast-forward updates were rejected'. Посмотрел гугл, для решения проблемы надо слелать pull. Но, тогда исходники заменятся старой версией, что не очень хорошо.
Есть ли какой рецепт?

Если есть доступ по ssh, в чём проблема зайти туда и склонировать?

akk ★★★★★
()

на удаленной машине делаешь новый репозиторий

git init /home/user/repo
git --git-dir=/home/user/repo config receive.denyCurrentBranch warn
Добавляешь в .git/hooks post-recieve
!/bin/bash
cd ..
env -i git reset --hard
У себя добавляешь репозиторий
git remote add workserver user@server:/home/user/repo
Отправляешь мастер на рабочий сервер
git push workserver master
На рабочем переключаешься в мастер
git checkout master
И все! Что удобно в такой схеме можно патчики лепить прям на серевере у заказчика и потом подтаскивать их центральный репозиторий =)

Yur4eg ★★
()

non-fast-forward updates were rejected означает что нужен merge =) pull его как раз и делает. После того как ты отправляешь через git push на удаленный сервер, в рабочей папке на том сервер надо сделать git rset --hard

Yur4eg ★★
()
Ответ на: комментарий от Yur4eg

интуитивно понятный интерфейс

куда там mercurial до него с

hg clone . protocol://host/path/to/directory

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.