Как получить рабочую копию репозитория git на стороне сервера
Я хочу иметь
Конечно, я могу создать два репозитория на сервере, один «голый», а другой «не голый», но я не желаю этого делать, чтобы сэкономить место на сервере (зачем хранить две копии репозитория?).
Итак, мое решение следующее. Я создаю на сервере "не-голый" репозиторий и ветку "tmp", в которой нет файлов. Если я не редактирую файлы непосредственно на сервере, я вызываю
$ git checkout tmp
Затем я могу выполнить «редактировать> добавить> зафиксировать> нажать» на моем локальном компьютере. И всякий раз, когда я хочу работать на сервере напрямую, я звоню туда
$ git checkout master
И выполните на сервере «редактировать> добавить> зафиксировать».
Другой вариант, который много обсуждался в stackoverflow, - это вызов
$ git config receive.denyCurrentBranch ignore
на стороне сервера. В этом случае мне не нужна временная ветка, и я всегда могу остаться в
$ git reset --hard HEAD
чтобы синхронизировать рабочую копию с изменениями, которые были отправлены с моего локального компьютера.
(но этот параметр не сильно меняет, это просто вопрос предпочтений, хотите ли вы использовать временную ветвь и делать
У меня вопрос: с учетом того, чего я хочу достичь, хороша ли схема, которую я использую? Или, если это можно сделать по-другому, как?
Опять таки,
- Я хочу иметь возможность редактировать файлы время от времени прямо на стороне сервера.
- Я не хочу тратить место на сервере и создавать на сервере два репозитория (голый и не голый).
Извините за длинный вопрос.