Добрый день. Я новичок в веб-программировании, пишу свой первый сайт, но не знаю, правильно я это делаю или нет. В общем, сайт хостится на платном хостинге, я подключаюсь через Sublime Text по ftp, пишу код и сразу проверяю, обновляя страничку. Я думаю, что так можно делать на первых порах, но что делать, если у сайта появится какая-то аудитория? Писать код напрямую не получится, иначе распугаю всех пользователей своими ошибками. Нужно редактировать локальную версию сайта, а потом уже заливать её на хостинг? Или иметь какую-то копию на бесплатном хостинге? Спасибо.
Вас спасет Git. Почитайте о том, что это такое, узнайте немного о Github. Когда немножко разберетесь, найдите и почитайте материалы о том, что такое deploy (развертывание приложения(сайта в данном случае)), как его использовать с Git и какие преимущества вы от этого получите. Это не самая простая тема, но понимание того, какую пользу все это вам принесет и умение использовать перечисленные техники и инструменты сильно поможет вам в будущем.
Работать с базой данных на Git можно так же, как и на хостинге? То есть, я могу, например, создать на сайте хостинга клон моей базы данных MySql и подключиться к ней из Git? Если да, то это то, что нужно.
Обычно происходит так:
разработка ведется на локальной машине, на ней же своя база данных MySQL. Так же есть своя база данных и на хостинге. И в момент деплоя ваше приложение переключается с работы с локальной базой данных на работу с БД хостинга. То есть происходит подмена настроек доступа к базе данных.
На чем вы учитесь веб-разработке? Возможно, я мог бы помочь чем-то, или объяснить более подробно.
Что значит - на чем? Я не понял вопроса, поэтому опишу все, что знаю. Проходил курсы по HTML, CSS и javascript на intuit.ru и codecademy.com, php прошёл на intuit.ru. Сам сайт пишу без особых знаний, поэтому сам код даже стыдно показывать. Нужно что-то сделать - иду в гугл, смотрю, как делают люди и делаю по своему. Пока что стараюсь делать так, чтобы просто работало. Верстка - HTML и CSS, обработка данных из форм и взаимодействие с пользователем - JavaScript, работа с базой данных - php. Буду признателен, если вы мне поможете разобраться с Git. Как с вами связаться?
Всегда имейте у себя копию ваших проектов. Хотя бы с точки зрения безопасности - будет лишний бэкап.
Я всегда разрабатываю сайты у себя на локальном хосте, и только потом переношу на удалённый хостинг. Иногда бывают проблемы с переносом, но не так часто, преимуществ намного больше.
Почти всегда использую в качестве локального сервера denwer, только недавно поставил xampp, и то только по той, причине, что нужен php5.5, а денвер его не умеет нормально. Также разрабатываю в виртуалке, куда поставил линукс (чтобы было приближённо к целевой системе).
Тут два варианта - либо просто выкладывать изменённые файлы через ftp, либо использовать какой-либо инструмент для деплоя, например, можно использовать банальный git.
Например, ftp-клиент Filezilla умеет подсвечивать те файлы, которые изменились у вас по сравнению с версиями на сервере. Поэтому легко выложить только то, что нужно. С маленьким количеством файлов можно так делать. Но если файлов много, то становится неудобно, выкладка растягивается на длительное время, и сайт может стать временно неконсистентным (одновременно в действии файлы разных версий)
А вот с git такой проблемы не будет. У себя сделали все изменения, закоммитили, проверили у себя, исправили, снова закоммитили, и запушили. Либо в центральный репозиторий (например, в Bitbucket), либо сразу на сервер (что чуть сложнее).
Сразу после пуша файлы на сервере не изменяются, потому как там нужно с ветками кое-как интересно работать. Поэтому заходите на свой сервер по ssh, там получаете последнюю версию с репозитория, и вуаля! Все новые файлы обновятся мгновенно, за доли секунды. Плюс, есть возможность простой командой откатить изменения до предыдущей версии, если с новой пошло что-то не так.
Советую вам разобраться с git, это очень полезный инструмент, который сбережёт вам в будущем множество нервов, да и вообще профессионал должен уметь им пользоваться.
Почитайте книгу ProGit на русском, а также вот .
Я бы вам посоветовал сделать сайт сестричку на этом же хостинге, что бы пакет программ, настройка серверов и прочие мелочи в точности повторяли тот набор который установлен на вашем основном сайте (а то помню были проблемы при переносе сайта с localhost'a на сервер). А дальше как вы и писали, закрывайте ваш тех сайт от индексации и продолжайте писать код как это делали раньше.