2017-08-04 9 views
1

私はこの分野ではかなり新しくなっています(以前はgitを使ったことはありませんでした)が、私は多くのチュートリアルを終えました。私の質問に対する答え。それはかなり自明ですが、私は例を追加します。実行中のサーバでリモートリポジトリ(Github、Bitbucket)を最新の状態に保つ方法

私たち(開発者のチーム)はフル稼働のサーバーexample.comを持っています。変更を加えたい場合は、ローカルに変更する必要があります。そのため、すべてのローカルマシンにリポジトリのコピーがあります。しかし、BitBucketサーバーにもリポジトリのコピーがあります。

ここで問題が発生します。新しい機能(追加、コミット、マージなど)をローカルで実装すると、グローバルマスターブランチにプッシュしたいのです。しかし、それは起源であるべきですか?サーバー上のものかBitBucket上のものか? BitBucketのすべてのチュートリアルでは、自分のサーバーからリポジトリをクローンする(またはそこにアップロードする)と、その中のすべてのプッシュ/プル要求を実行するように指示していますが、実行中のサーバーはどのようにこれらの変更を最新の状態に保ちますか?私はBitBucketから手動でそれらを引き出す必要がありますか?

もう1つの方法はssh:example.com/var/www/example/から直接クローンを作成する方法ですが、BitBucketはどのように分岐やコミットなどを追跡するのですか?

ヘルプありがとうございました!

EDIT:要するに、サーバー上にコードがあります。私のローカルマシンで作業したり、実行中のサーバーに定期的に変更を適用したり、BitBucketを使用するためには、どのような手順を取る必要がありますか?

答えて

3

通常の開発では、開発者はBitBucketからのプッシュ/プルのみとします。リリースについては、example.comにプッシュしてください。ほとんどのワークフローでは、プロダクションコードを実行する「フルオペレーション」サーバーに加えて、広範なローカル開発が行われています。

すべてのブランチを常にサーバーに展開する必要はありません。サーバーはプロダクションバージョンのコードのみをホストすることができます。したがって、サーバーに複数のブランチを最新の状態に保つ方法はありません。代わりに、ブランチは、開発されたときにフィーチャーを追跡するために使用され、最後にサーバーにプッシュされる前にmasterにマージされます。

新しいバージョンを展開する準備ができたら、どのマシンからでもサーバーにプッシュします。 example.comに新しい変更をインストールするには、server-side hooksを使用します。

+0

私はそれを想像しました。あなたはそれらのフックについて何かもっと教えてもらえますか? (私はリンクをチェックしましたが、新しい変更をインストールする "ウォッチャー"としてどのように役立つのか分かりません) –

+0

フックを使うと、新しいコードがプッシュされたときに必要なスクリプトを書くことができます。 –

+0

このスクリプトはどこに配置されていますか?リモートのgitリポジトリに?どうすればそれらを作成できますか? –

関連する問題