В двух словах я ищу код, перемещающийся слева направо посредством нажатия:
local machine -> bare remote repository -> full remote repository
Примечание: голое репо находится на той же машине, что и полное репо. Полное репо также является моим живым сайтом на общем хосте.
После выполнения всех требований для этого я не вижу абсолютно никаких файлов, созданных на моем сервере в моем полном хранилище. Git даже делает это? Я новичок в Git, так что, возможно, я что-то напутал. Все, что я сделал, перечислено ниже.
Вот что я сделал на своей локальной машине, находясь в каталоге с выходом кода:
$ git init
$ git add .
$ git commit -m "Initial commit"
Находясь на удаленной машине, вот что я сделал для простого репо:
$ mkdir -p $HOME/www/example.git
$ cd $HOME/www/example.git
$ git --bare init
Вернувшись на локальную машину, я сделал это:
$ git push exampleserver master
$ git remote add exampleserver ssh://exampleuser@example.com/~/www/example.git
$ git push exampleserver master
Вернувшись на удаленный компьютер, чтобы настроить сайт полного репо / live, я сделал это:
$ mkdir -p $HOME/www/example.com
$ cd example.com
$ git init
$ git remote add bare $HOME/www/example.git
$ cd $HOME/www/example.git/hooks/
Находясь в каталоге hooks в голом репозитории, я создал исполняемый скрипт оболочки с именем 'post-update', и он выглядит так:
#!/bin/sh
cd $HOME/www/example.com
unset GIT_DIR
git pull bare master
exec git-update-server-info
Наконец, когда я закончу кодирование на моей локальной машине, я делаю следующее:
$ git push exampleserver master
Возвращает «все обновлено».