これを行うにはいくつかの方法があります。しかし、これはあなたが尋ねた一見巨大な質問です。ここにいくつかの良い実践のアドバイスがあります-これらの項目を調べて、私のアプローチを見てください。
通常、システムの「バージョン」またはスナップショットを作成できるバージョン管理と呼ばれる歳差運動を使用します。一般的に使用されている「SVN」ソフトウェアは優れていますが、ブロックの新しい(実際にはもうない)子供はGITであり、私は個人的にそれをお勧めします。
このシステムを使用して、制御された方法でコードベースをライブにプッシュできます。ファイル/アップロード機能は基本的にFTPに似ていますが、サイトの特定のバージョンをライブでダンプできます。
複数の開発者がいる環境では、これが理想的です。相互に比較/テストして回避でき、バージョン管理は開発者間のエラーを阻止する傾向があります。
つまり、アドバイスパート1:バージョン管理を調べて理解し、それを使用してCODEをライブ環境にリリースします。
パート2:データベースダンプを使用して、それらを自分のマシンに戻し、作業します。ライブデータベースを更新する必要がある場合は、ローカルで作業してエクスポートし、ライブシステムに再インポートすることができます。
例:私が取り組んだ最近のMoodleプロジェクトでは、データベース全体を更新するのに数秒かかりました...パッチとデータベースの更新を数分でプッシュできました。ただし、メンテナンスとスケジュールについて考える必要があります...サイトが稼働していて、継続的なデータ変更がある場合は、これに注意する必要があります。メンテナンスページを追加することを検討してください。
アドバイス2:SQLのダンプ/エクスポートとインポートを調べてください。
非常に便利なので、私は個人的にphpmyadminを使用してダンプと再インポートを行っています。
アドバイス3:ローカルで作業してからライブでプッシュすることは、はるかに優れた実践です。あなたは今よりもはるかに安全でより良い道を歩み始めています!
それがお役に立てば幸いです...しかし、覚えておいてください-これは大きなテーマなので、かなり調査する必要があります。