2017-03-14 2 views
0

gitについて学んでみると、私は多くのドキュメントを見てきましたが、実際にgitを使った経験はほとんどありません。だから、gitに関する基本的な考え方をすべて知っていると言うことができます。しかしそれだけです。リポジトリブランチをgitするために、異なるサーバから既存のローカルファイルを追加するには?

ここで私たちはおそらくgitの恩恵を受けることができると分かったが、どのように進むべきかはわからない。

私は3つのサーバーにソースコードを持っていますが、1つはDev、1つはpreprod、もう1つはprodです。すべてのファイルはほぼ同じでなければなりませんが、dev/preprodがもう少し新しい可能性があります。

私はgit repoを作成し、2つのブランチ、devとpreprodを作成しました。

私のdevファイルをdevに、preprodをpreprodに追加しました。 2つのファイルの比較や、私の驚きのファイルに対する比較は、おそらく同じファイルではないと考えられているからです。

どうすればよいですか?

私のdevサーバーでは、すべてが私のdevサーバーにあります。私はいつもdev、preprodからプルしてプリプロッドをマージして、私はいつもdevとpreprodから引き出します。マージします。

私は十分に理解していますか?そして、どのように私の異なる環境から私のファイルをインポートできますか?

ありがとうございます!

答えて

0

あなたのアプローチは私が見る限り正しいものです。あなたの場合、私はもう一度やり直すつもりです。

2つのブランチのファイルを比較する代わりに、最初にそれらのファイルを順番に取得してみてください。あなたの説明から、prodのものはdevよりもpreprodよりも「最も古い」と言います。

最初にrepoを作成し、masterのprodのすべてをインポートするとします。それを支配するよりも。チェックアウトマスターの後にもう一度、フォルダ内のファイルを置き換えるだけでプリプロードをインポートしようとします。 git diffはあなたに何が変わったかを伝えます。空白のような小さな差分を見つけるのは簡単で、次のステップでは無視することができます。私は仕事のためにgit add -i(対話式)を提案します。あなたが持っているものをコミットし、それを分岐させてプリプロッドします。

最後に、devを使用して手順を繰り返し、そこに保管してください。この方法でマスターはあなたの開発者になるでしょう。そういう人もいますが、そうでない人もいます。それは単なる選択肢です。

すべてのブランチで異なるコードは、リポジトリに含まれていない設定ファイルでアウトソーシングできる設定にすぎないことに注意してください。

たぶんも興味深いあなたのためにそれがモデルの分岐についてその記事:A successfull Git branching model

実際のgitとワークフローのヘルパーですツールのgit-フローは、このモデルに基づいており、いくつかの企業のツールでサポートされていますbitbucketのように。

正しい方法は、あなたとあなたのチームが作業できるものではなく:-)

0

しかし、ほとんどの魔法を持つものである場合devブランチと同じ内容のpreprodブランチで同じファイルが、あなたが見つかりました。 git diff dev preprodによって異なっている、それは主にの空白行の異なる数を持っているのでdevブランチのファイルが1つの空白行を持っていますが、preprodの中に2つの空白行があります)。だから彼らは違うと思う。

はい、devpreprodのサーバーからプル/マージできます。しかし、devroサーバーのコードをpreprodサーバーと同期させるより良い方法があります。 受信後のフックを使用できます。変更をdevサーバーにプッシュした後は、受信後フックを使用して、preprodサーバーをdevサーバーと同期させることができます。

+0

私はポスト受信フックについて知りませんでした!ヒントをありがとう! –

関連する問題