Git Noob пытается перенести изменения машины разработки на удаленный рабочий сервер часть 2 - PullRequest
0 голосов
/ 22 мая 2011

на удаленном сервере у меня есть приложение rails 3.я понимаю, что не могу выдвинуть изменения в не голое хранилище.Итак,

  1. на производственном компьютере, в корневом каталоге rails, я создал каталог с именем .git
  2. cd в новый каталог .git
  3. запустил git init --bare
  4. , затем с моей машины разработки ввел следующую команду: git push ssh: //jay@domain.com: 12345 / home / jay / public_html / domain / .git master: master

Пуш показался успешным, потому что я получил следующее сообщение:

Counting objects: 235, done. 
Delta compression using up to 4 threads. 
Compressing objects: 100% (214/214), done. 
Writing objects: 100% (235/235), 399.79 KiB, done. 
Total 235 (delta 44), reused 0 (delta 0) 
To ssh://jay@domain.com:12345/home/jay/public_html/domain/.git 
* [new branch]      master -> master

изменения были внесены в пустой каталог '.git', но не было внесено никаких изменений в код удаленного рабочего компьютера.Есть ли другая команда, которую мне нужно выполнить после изменения?

ОБНОВЛЕНИЕ: Я единственный разработчик.Есть только два хранилища.1. на моей машине для разработки я установил git и затем запустил init, add и commit 2. на своем удаленном производственном сервере я установил git и выполнил описанные выше шаги

1 Ответ

3 голосов
/ 22 мая 2011

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

Прежде всего, не создавайте каталог .git. Просто сделайте git init --bare в каталоге, где вы хотите Git Repo. Это не должно быть в public_html. Теперь в вашем public_html\domain клоне другой голый репо. Теперь у вас есть свой производственный код. Установите зацепку после получения в папке hooks простого репо и перенесите это в другое репо в public_html. (вам может понадобиться добавить пульт к другому репо). Таким образом, когда вы выходите из своей машины разработки, рабочий код также обновляется.

cd /home/repos/repo
git init --bare
cd /home/jay/public_html/domain
git clone ../../../repos/repo .
cd /home/repos/repo/hooks
vi post-receive
( add post-receive hook content, make it executable)

Вы можете добавить пульт к коду репозитория с помощью git remote add prod /home/jay/public_html/domain. С этой настройкой вы можете сделать так, чтобы ваш обработчик после получения сделал git push prod master

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