2017-01-13 15 views
0

私はCodeIgniterフレームワークを使ってプログラミングしています。私はライブサーバーへの配備について最善の方法を考えていました。Gitから適切に配備する方法。 (Local - > Remote Git - > Live server)

私の質問はデフォルトの.gitignoreに由来しています。

Git Repoにファイルを追加してコミットすると(CloudwayのライブWebサーバーからプルするために使用します)、問題はすべてのファイルがgit repoに追加されないことですしたがって、すべてのファイルがCloudway上のWebサーバーにコピーされるわけではありません。すべてのファイルをライブサーバーにコピーする適切なメカニズムは何ですか?

.gitignoreを削除してから、すべてのファイルをリモートリポジトリにコミットして、Cloudwaysがすべてのファイルを最初にプルできるようにしますか?そして、.gitignoreファイルを私のローカルマシンにコピーしてから、そこに追加してコミットすることで、不要なファイルが通過せず、将来のgitコミットで無視されます。

私はとても混乱しています。私がGitをバイパスする前に、ウェブサイト上のファイルを編集するだけです。しかし、今私は適切なルートに行き、私の将来のプロジェクトのためにGitリポジトリを使用する必要があるように感じる。

また、ローカルで開発してライブサーバーにファイルをプッシュする適切な方法は何ですか? localhostの設定からライブサーバの設定にコミット/プッシュするたびにデータベースと設定ファイルを変更し続ける必要はありませんか?私はとても混乱していますので、助けてください。

答えて

0

Gitはバージョン管理ツールであり、デプロイメントツールではありません。人々は、Gitをデプロイメントに使用するために、回避策やフレームワークを発明しましたが、それはGitの機能の1つではありません。

.gitignoreにあるファイルは、単にgit add -f ...を使用して追加することができますが、これはおそらくあなたが望むものではありません。また、.gitignoreは、追跡されていないファイルにのみ影響します。 Gitにファイルを追加するとすぐに、それが.gitignoreにあるかどうかにかかわらず、その変更が追跡されます。

ファイルが.gitignoreにある場合は、ライブサーバーとローカル環境で異なる必要がある設定ファイルのように、そこに置く理由があります。ライブサーバー上でこれらのファイルを手動で作成してください。

+0

ああ、そうです。だから、ウェブサイトを展開するには、すべてのファイルをサーバにアップロードし、サーバのデータベース/設定情報を設定して、将来のバージョン変更のためにgitignoreを設定してください。これらの種類の典型的な「ワークフロー」は何ですか?ありがとう – radiantMemory

+0

多分これは役立ちます:http://gitolite.com/deploy.html – Vampire

関連する問題