В общем с git вообще практически не работал.. ради интереса когда то на гитхабе что то залил.. сделал пуллреквест даже один.. на этом вся моя работа закончилась, так как опыта работы в команде не было - соответственно и контролировать нечего не надо было.. так что большая просьба разговаривайте как с нубом)) Смысл в чем.. есть у меня директория на локалке с движком сайта.. я написал несколько компонентов (плагинов), каждый плагин состоит из 1. Директории где лежат контроллеры и модель 2. Файлов локализации которые лежат в другой директории.. мне надо сделать репозиторий который будет хранить мою директорию с контроллерами учитывая весь путь от корня сайта.. и что бы файлы локализации хранились там где они находятся в общей директории локализаций, опять же с сохранением путей.. и так у меня лежит несколько плагинов в одной директории движка.. плюс мне надо будет уже в самом репозитарии добавить файл манифеста где будет инфа про установку.. . такое вообще возможно? или мне лучше мои плагины разложить в отдельные директории с учетом всех моих путей добавить в эту же директорий файл манифеста (установку) плагина и потом уже из всего этого добра делать репозиторий))
Если ты сможешь их развести по разным непересекающимся директориям, это будет лучший вариант. Если это невозможно, то можешь одну репу создать в корне проекта, а пару других в под-директориях. А чтобы они не дублировались, добавь те дочерние папки в .gitignore главной репы. У меня есть проект где бОльшая часть папки public принадлежит отдельной репе. Код (Text): / .git/ - главная репа .gitignore - содержит строку с "public" app/ config/ storage/ public/ .git/ - другая репа .gitignore resources/ Самый сложным момент был в том, что некоторые вещи из public/ мне таки надо держать в главной репе. Выкрутился помещая эти вещи в .gitignore дочерней репы и делая "git add -f public/thing" в главной. Читай про .gitignore, git add --force, git check-ignore Повторюсь: лучше такого избегать. Это грязные хаки, а не хорошая практика.
Не всегда возможно разносить по разным каталогам, можно заморочиться с симлинками, конечно. При этом вести репозитории, как разные проекты в рамках одного общего удобно и иногда крайне необходимо. В частности, при работе над одним проектом команды фронтенд и бэкенд разработки. В моей практике команда фронтенд разработки работает с отдельным репозиторием и может самостоятельно выпускать свои релизы.
ребята еще вопросы по поводу git)) сгенерил я ключи.. добавил публичный ключ в bitbucket клонировал репозиторий.. перешел на dev ветку.. сейчас дамп разверну.. мне надо будет менять в конфиге домен проекта, так как у меня на локалке он другой, естественно пути менять надо будет и пароли к базе... я работаю в netbeans - решил пока командную строку не использовать)) мне надо установить что бы эти файлы игнорировались? правой клавишей на файл, дальше /Git/Игнорировать/Исключить из фиксации ?? этого достаточно? Спасибо)
Да, достаточно. Плюс ко всему при попытке зафиксировать NetBeans тебе покажет список файлов, там ты можешь убедиться что файл зачеркнут, и не будет зафиксирован. А по хорошему их можешь включить в .gitignore
у меня вопрос за вопросом) есть проект над которым нужно поработать, но под винду нет memcached.. поэтому проект надо развернуть на линуксе. есть у меня на виртуалке линукс, развернул я там проект.. по ФТП открыл его в нетбинсе.. и тут сразу возник вопрос)) как работать с гитом если проект удаленный у меня.. только через командную строку на линуксе?
ну, я софт под линукс какой есть не знаю). Я и на винде как то привык уже работать в командной строке (PowerShell). А я себе установил под винду этот Memcache) Вообще, можно NetBeans настроить и на работу с удаленными репами. --- Добавлено --- https://netbeans.org/kb/docs/ide/git_ru.html#remote
Это разве не одно и то же?)) Memcache это расширение для php a memcached это сервер.) Вот второй кажется как службу я устанавливал, по какой статье я даже не припомню). --- Добавлено ---
Есть расширения PHP memcache и memcached, оба они работают сервером memcached. Cоединяйся по ssh и работай в командной строке, можно прямо из NetBeans. Ну и раз есть ssh, то логично использовать sftp вместо ftp. Забывай уже про это говно мамонта. С виртуалкой есть и такой вариант: настроить "общую папку" с виртуалкой. Реально папка с файлами будет на твоей материнской винде, а в линукс она будет "монтироваться" при старте виртуалки. Будешь продолжать работать с файлами локально, а веб-сервер и пхп под линуксом. --- Добавлено --- Лично я не использую поддержку git из IDE, или какой-либо GUI-интерфейс к git. Не чувствую такой потребности Хотя PhpStorm автоматически настраивается на гит, если обнаруживает его. Вот ситуация, изначально описанная в начале темы — с несколькими репами в рамках одной папки проекта, может быть слишком сложной для IDE. На "автоматику" не надо расчитывать, руки должны всё уметь! Консоль у меня всегда bash (от cygwin), хоть под виндой, хоть под линуксом. Поэтому переходы между локалкой и виртуальным или удалённым хостами у меня происходит "прозрачно", без напряжения мозга на смену контекста. Рекомендую https://cygwin.com/ !
Общую папку у меня не получилось поднять (точнее, получилось, но работали сайты, находящиеся в ней, со скоростью варёной черепахи), но лежит копия сайта, который на виртуалке, на основной ОС, как было бы, если бы проект был только удалённым. Все git запускаю из под основной ОС, php storm автоматом закачивает полученные файлы на виртуалку по sftp, для меня получился идеальный вариант.