3

私はgitにかなり慣れていないので、本番環境にデプロイする際のベストプラクティスを考えていましたか?私は、本番用のコードの最新バージョンを常に持っているマスターブランチを持っています。プロダクションに行くとき(今のところ手動で行います)、入力git pullして最新のものを入手します。しかし、コードをマージしようとし、場合によっては競合などが発生します。マスターブランチにあるものをそのまま取得するように強制する方法はありますか?

私はこれについて多くを読んでみました:

gitから本番環境にデプロイするための最良のソリューションは?

http://posheika.net/?p=136

4

2 に答える 2

3

引っ張る代わりに、を使用git fetch originしてみてください。git reset --hard whatever_deployment_branch_you_use

これにより、リポジトリがコードをマージしようとしないため、サーバーでの競合を回避できます。

于 2012-08-06T18:09:15.933 に答える
0

これを行うための簡単で信頼できる方法はmaster、すべての開発が行われるブランチを持つことです。developmentブランチの目的をより正確に反映したい場合は、このブランチの名前をに変更することを選択できます。

次にproduction、本番環境で現在実行されているものを常に反映する別のブランチがあります。本番環境にデプロイするときはいつでも、productionブランチをチェックアウトして実行しますgit merge master。コミットSHAにタグを適用して、masterデプロイしたポイントを簡単に確認できるようにすることもできます。

このようにすることで、開発ボックスでのすべてのマージの競合を修正し、本番ボックスで実行するだけでgit pull、から最新のものを取得できますproduction

これは、上記のフローに代わる、より洗練された(そして潜在的にはより複雑な)代替手段です。複数の開発者がいる場合や、より複雑なリリースサイクルが必要な場合は、これを使用してください。

于 2012-08-06T18:09:18.653 に答える