2012-02-27 16 views
2

私は最近取り組んでいるサイトのリポジトリを作成しました。今私はサイトを複製しようとしていますので、私はGitで新しいブランチを作成し、特にそのツールの変更を個別に扱うことができると考えています。しかし、重要な変更をメインブランチに戻すこともできます。Gitブランチとマージバック

私が心配するのは、変更の50%がコアにプッシュバックされ、50%がこのブランチに保持される必要があるということだけです。

どのようにしてこれを管理できるのかを誰にでも示唆することができます。セカンダリブランチのコアブランチ特有の変更だけをプッシュバックできるかどうかはわかりません。

うまくいけば、私が言っていることに従ってください。

そうでない場合は、明確にしてください。

+1

同じコードベースに対して2つの要件があるように見えます。私にとっては、これはコードをコピー&ペーストするのと少し似ていますが、この場合はスマートに行われます。私はあなたがコードを見て、それがあなたがこれら2つのサイトで使用されているコアライブラリを持っているようなリファクタリングが可能かどうかを確認することをお勧めします。私はいくつかのコードの重複があることは間違いないが、あなたがここで示唆しているものよりも管理が簡単だと思う。 – Zoidberg

+1

また、git cherry-pickを見て、それを使って、2番目のブランチに適用するコミットを選択することができます。 – ustun

答えて

1

これはまったく問題ではありません。マスターブランチを持つrepo A(最初のレポ)を持っていると仮定します(あるいは、コアに名前を付けることもできます)。 Aも裸のレポであると仮定します(あなたはそれに変更を加えることができます)。新しいレポBに

だけでクローンA:あなたが合うよう

git clone A B 
cd B 
git checkout -b B-stuff 

はB-スタッフ支店にコンテンツを追加します。

git checkout master 
.. changes 
git commit -am 'foo' 
git push origin master 
+0

これのために乾杯、私は今すぐ行くつもりです。 – David

+0

もし私が間違っていたら私を許してください。ちょうど私があなたに正しく従っています。私は元のリポジトリをmspluginにクローンしました...そして、私はちょうどその中にcdしてgit checkout -b Bを実行しました。 -stuffコマンドあなたは、単にマスターに戻って変更をコミットするのと同じくらい簡単でなければならないと言っています。もし私が変更をいわゆる 'コア'にプッシュしたいのであれば、ブランチを使用してください。 – David

+0

はい、それは私が言っているものです:) – ralphtheninja