2011-12-04 12 views
1

私のリポジトリのセットアップは、このようなものです:新しいブランチをマージするためのgitワークフローと自動マージを止める方法は?

LIVEから裸のクローンで、中央リポジトリとして機能するサーバーLIVE
という名前のWebサーバー、REPOからクローンでTESTという名前のREPO
テストWebサーバーの名前(別名LIVEと同じファイル)
localhostの開発とデバッグのためにeclipseを使用します。

私は私のサイトに新しい機能を追加したい場合は、私はこのようなワークフローを使用することができると思った...
@LIVE:Gitのプッシュは、REPO
にLIVEサーバーから @eclipseを最新のファイルを#get: "上流からフェッチmynewfeature」今私はと呼ばれる新しいブランチを作成
をEclipseにREPOから最新のファイルを#get 『』と私は終わりだとき:
@eclipse: 『REPO
に新しいブランチを#push』上流ためにプッシュ @TEST:git fetch
マージでどのファイル(ファイル名のみ)が変更されるのか?
マージする前にどのファイルが競合しているかを確認するにはどうすればよいですか?

@TEST:
@LIVE:Gitはサーバー
@LIVEを生きるために新しい機能を#getフェッチ:gitの原点をマージ/ gitのは、すべてがOKであれば私が今#apply私の新機能
を起源/ mynewfeatureをマージmynewfeature

このワークフローは正しいですか?

私の重大な問題は現在コンフリクトです。私が欲しいファイルを尋ねられたら、私はgitで "auto-merge"を取得してPHPファイルを破壊します。
ファイルをマージするときに自動マージを停止できますか?

+0

初めてマージ(TEST)を実行すると、手動で解決する必要があるマージの競合が発生する場合があります。これはワークフローの残りの部分にどのような影響を及ぼしますか?あなたは確かにLIVEのマージ競合を解決できません。なぜなら、それはライブだからです。 –

答えて

0

通常は、ローカル開発システムでマージします。 REPOから

  • プル
  • mynewfeature
  • ため
  • で...すべてがうまくいけばTESTへ
  • プルmynewfeature枝をレポするローカル
  • プッシュブランチを開発開発システムmynewfeaturemasterにマージ
  • プッシュmaster
  • REPOへのプル master TESTに、

をLIVEにポストマージ

  • プルmasterすべての最終チェックを行いますが、ここでマージをやっているだけの時間は、あなたの中にあります開発システム。通常の手順でローカルで競合を解決します。マージの結果をmasterにプッシュした後、他の誰も今行ったマージプロシージャを繰り返さないでください。

  • +0

    localhostでマージするのは良いことですが、もしLIVEからファイルを開発しているのであれば、その変更はどうですか?私は再び葛藤するだろうか? そして、私がローカルレポで競合を解決しなければならないのであれば、私はプルマスターをLIVEにするときにその競合が再現されないでしょうか? – karpa

    +0

    はい、2人で同じファイルの同じ部分を同時に変更すると、マージの競合が発生することがあります。私は[Pro Git](http://progit.org)(無料で入手可能)のような良い本をお勧めします。 –

    +0

    こんにちはグレッグ、遅れて申し訳ありません.. 私はPro Gitをチェックしましたが、私が探していた情報が見つかりませんでした.. gitの "svn status --show-updates"コマンドと同等の機能はありますか? (下を見てくださいhttp://ldc.usb.ve/docs/svn/svn.ref.svn.c.status.html) これは私の最初の質問に太字で答えるでしょう。 – karpa

    関連する問題