Я веб-разработчик, в настоящее время использующий FTP для развертывания своего кода и пытающийся перейти на git, чтобы ускорить процесс.
Мои текущие проекты выглядят так:
- webapp1_live
webapp1_dev
webapp2_live
- webapp2_dev
Файлы live и dev хранятся локально (полный исходный код), потому что:
- Мне нужен удаленный сервер для проверки моего кода (у меня есть автоматическая загрузка на FTP при сохранении локальных файлов в Sublime Text)
- Я использую инструмент сравнения, чтобы выяснить, какие файлы я изменил в dev, и скопировать их в оперативный каталог (вручную), а затем мне нужно вручную отправить их по FTP на живой сервер
Я хотел бы использовать git для отслеживания моих изменений, НО также для быстрого копирования моих изменений из dev в каталог live (позже я выясню, как передать их по FTP на мой удаленный сервер - я кое-что прочитал про крючки и тому подобное ... это уже другая история, я не хочу сейчас вдаваться в подробности)
Я попробовал Sublime Merge, чтобы сделать то, что я хочу, и я настроил dev и живу как локальные репозитории, но когда я пытаюсь перенести свои изменения из dev в live, я получаю эту ошибку:
remote: error: refusing to update checked out branch: refs/heads/master
remote: error: By default, updating the current branch in a non-bare repository
remote: is denied, because it will make the index and work tree inconsistent
remote: with what you pushed, and will require 'git reset --hard' to match
remote: the work tree to HEAD.
Я читал о пустом хранилище, но, насколько я понимаю, у него нет рабочего каталога, а значит, у него нет копии файлов?!