2010-12-07 16 views
1

私はブランチdevelopファイルを持っています:Git - 削除をマージしない

  • index.php
  • test.php
release私はそこからブランチを作成しています。 、 を削除test.phpは本番リリースには入っていません。次に、このブランチを developにマージしたいが、 にtest.phpを開発ブランチにしておきたい。どうやってするの? git mergeのデフォルトの動作は、ファイルを削除するだけです。

答えて

3

1/Iではなくrebaseは(あなたがまだリモートレポにそれをプッシュしていない場合)、すべての私の開発はまだ最新のリリースとの互換性があることを確認するために、マスターの上に枝を開発(およびそのすべてのだろうバグの修正)。
あなたの現在の開発が実際にリリース(大規模なリファクタリング)と異なる場合は、私はバグ修正をチェリーピックすることを検討します。

2 /マージ中にファイルをそのまま保持する必要がある場合は、merge manager in a .gitattribute fileを開発ブランチでのみ設定できます。

+1

あなたの2番目の助言は役に立ちました、ありがとう! – galymzhan

2

は、リリースブランチから開発ブランチにはマージされません。代わりに、git cherry-pickを使用してバグ修正を開発ブランチに適用します。

+0

そして、test.phpの削除は独自のコミットで起こり、そのコミットはチェリーピックされませんか? – MatrixFrog

+0

正しい。バグ修正はすべて自己完結型のコミットで表現する必要があります。その後、開発ブランチにバックポートする必要がある特定のコミットをチェリーピックすることができます。 – cdhowie

+1

+1。私は追加するでしょう:**可能であれば、リリースブランチ**にバグ修正を書いてください。そして、 'git merge'を使って修正を開発ブランチにインポートすることができます。 – EOL

関連する問題