Добавить git в существующий проект на сервере - PullRequest
0 голосов
/ 20 февраля 2020

Я знаю, может быть, на этот вопрос где-то есть ответ, но я не нашел решения для этого. У меня есть проект, который уже находится на работающем сервере, и я хочу добавить. git, чтобы иметь возможность извлекать / pu sh с моей локальной машины.

Я думал, что могу сделать на сервер: git init git удаленное добавление источник git@project.git git добавление. git commit -m "Initial commit"

Но, похоже, это не правильный путь, поэтому я попытался сделать git init --bare проект. git и клонировать из моего локального, но каталог пуст.

Может кто-нибудь сказать мне, как я могу добавить git в этом случае. Спасибо.

1 Ответ

0 голосов
/ 20 февраля 2020

Я думаю, я знаю, что вы хотите сделать, и я делал то же самое раньше. Я хотел что-то вроде этого, где обе папки были Git репо

  laptop              server
~/website   <=>   /var/www/html
  .git/             .git/
  index.html        index.html

Однако это невозможно, потому что с моего ноутбука я не могу выложить sh в репо в /var/www/html потому что это не голый репо. Я также не могу сделать это пустым репо, потому что у голого репо нет рабочего дерева (которое мне нужно, потому что это файлы, которые отображают мой веб-сайт).

Поэтому вместо этого мне нужен посредник:

  laptop            server              server
~/website   <=>   website.git   =>   /var/www/html
  .git/                                .git/
  index.html                           index.html

, где website.git - голый репо. Затем я просто добавляю хук пост-приема в файл website.git/hooks/post-receive, который cd s к /var/www/html, и извлекает из чистого репо, который находится на том же жестком диске. Вот мой крючок

#!/bin/bash

# unset environment set by git
unset $(git rev-parse --local-env-vars)

# go to website and assemble
cd /var/www/html
git fetch origin
git reset --hard origin/master

# Whatever other instruction you need to build the website
# ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...