Поделитесь опытом, какой способ вы используете для своей разработки?Лично мы используем такой способ:
Как хранить исходники вместе или раздельно по разным репозиториям? Какие плюсы и минусы каждого способа?Мне кажется тут вопрос не столько в "плюсах и минусах" сколько в здравом смысле. Мне не совсем понятно, что в конечном счёте означает "бекенд на python, фронтэнд на angular". Это два независимых проекта, способных работать автономно друг от друга и "общаться", например, через API, разработка которых происходит параллельно и независимо друг от друга, при этом какие-либо части проектов не пересекаются между собой (например, куски HTML/CSS/JS/etc кода не копируются в бекенд-часть)? Если так - то крайне логично разделить это на два отдельных репозитория, т.к. это по сути два разных проекта, связанных между собой весьма косвенно. Если же у Вас проекты имеют более прочную связь между собой или степень контаминации исходного кода выше той, что я описал ранее - то это один проект и дробить его на множество репозиториев, лично я смысла не вижу никакого (а то мы так дойдём до "давайте хранить HTML-код в одном репозитории, CSS в дургом, JS в третьем и т.д.).
Здравствуйте.Здравствуйте.
Разрабатываю SPA приложение на JavaScript и php (в будущем замена на Node.js) на сервере для реализации API.Что именно Вы разрабатываете и на чём - значения не имеет, если исходный код представляет из себя файлы.
Перед реализацией какой-то новой фичи или рефакторинга приходится делать просто ручной бекап файлов и на клиенте и на сервере, а порой еще и структуру базы.Вместо этого - просто берёте и делаете новую ветку.
Подскажите пожалуйста, как было бы наиболее эффективно внедрить GIT, что бы упростить все вышеописанное?Для наиболее эффективного внедрения Git - обычно используют его установщик (инсталлятор, пакет и т.п.) под соответствующую операционную систему.
Использую Atom, но без проблем могу перейти на любой другой свободный редактор/IDE.Git никак не связан с редакторами и/или IDE, можете использовать что угодно или вообще сторонний Git-клиент, типа TortoiseGit (и прочих подобных).
То есть хотелось бы одним коммитом сохранить и JS и PHP код.Вы можете сохранять одним коммитом любое количество файлов (если сильно углубиться в подробности, то дельты изменения файлов, но это Вам не очень интересно, я думаю).
Разработку веду сразу на рабочем vps используя ftp плагин для Atom, который позволяет редактировать файлы на сервере, как локальные.Можете поставить Git в т.ч. и на удалённый сервер и обновлять там файлы проекта с помощью "push"а, но, с учётом конктекста Вашего вопроса, я бы всё-таки порекомендовал для начала разобраться с Git'ом получше, а сервер для разработки всё-таки ставить локально и не лохматить бабушку.
Как обычно компании решают данную проблему?Обычно эту проблему решают одним из следующих способов:
может кто сталкивался на ubuntu с подобной проблемой?Эта проблема решается довольно легко. Есть такая штука, как "сборщики проектов" различные или другого рода пост-инсталляционные скрипты, в т.ч. к ним (к этой же области) относятся и различные хуки самого GIT'а.
Почему в командах , которая занимается разработкой с использованием git , есть определенные правила настройки редактора кода ?Никогда раньше не слышал, что это связано именно с использованием Git.
Вопрос глупый, но всё же хочется услышать ответы.Не зависимо от того, Visual у Вас Studio или какая-то ещё, в репозитории, при нормальном раскладе никогда не сохраняют в т.ч. следующее: файлы, которые генерирует IDE или что угодно ещё, автоматически; суда же относятся различные "билды" (результат работы некоторых сборщиков и т.д.), всё что может быть сгенерировано повторно на другой машине - в репозиторий обычно не кладут.
Есть ли смысл в 2017 году изучать другие системы контроля версий такие как Mercurial или Subversion?Есть, но в процентном соотношений этот "смысл" будет довольно скромным. Кстати, помимо Git, Mercurial и Subversion, есть ещё и другие системы...
Так как быть?Определиться с тем, являются ли картинки часть исходного кода или всё же частью внешних/временных данных? Если частью исходного кода (например, логотип из макета сайта) - сохранять, если просто какие-то временные данные - выдавайте их отдельно всем желающим.
1. Как объяснить это вебшторму? Что теперь нужно, во-первых, обновить все файлы из новой ветки и во-вторых, что изменения тоже надо пушить в новую ветку.
2. Как при этом время от времени забирать изменения из ветки first? И потом обратно возвращаться в свою?Время от времени вливать в нужную ветку - ветку first.
3. И как ничего нигде не испортить?Не использовать "force" и прочие подобные варианты "насилия". В таком случае, "испортить" что-то будет довольно проблематично.
Можно ли как-то поставить папку в git ignore, чтобы избежать в будущем случайного добавления. Спасибо!Можно, создаёте в корне файл .gitignore и пишите туда примерно следующее (мой файл .gitignore):
.idea/
nbproject/
node_modules/
css/
Скажите, этого достаточно как рядовом разработчику в студии?
1. Git сервер на windows server 2012 (на нем будут все репозитории)
2. Подключение клиентов(разработчиков) к git серверу
3. Автоматическое Создание бэкапа (например раз в неделю) репозитариев на др. сервер (Ubuntu)
4. Автоматическая заливка репозитариев на Bitbucket
Спасибо!
1. Настроить на dev сервере репозитарий для подключения удаленных пользователей
2. Настроить синхронизацию серверного репозитарий с bitbucket (возможно ли автоматически это сделать )
3. Заливать с серверного репо в bitbucket только возможен администратор проекта ( на его ж аккаунт в битбакете)
/vendor
, тогда на сервер соотв. нужно установить composer, и после того, как у вас было какое-то обновление в композере (добавился модуль, обновился, изменился и т.д.) -- на сервере (как вариант - через git-хук) запускаем composer install
./node_modules
/public/storage
/vendor
/.idea
Homestead.json
Homestead.yaml
.env
# phpstorm project files
.idea
# netbeans project files
nbproject
Как использовать контроль версий для сайта на обычном хостинге?