私はブランチdevelop
ファイルを持っています:Git - 削除をマージしない
- index.php
- test.php
release
私はそこからブランチを作成しています。 、
を削除test.phpは本番リリースには入っていません。次に、このブランチを
develop
にマージしたいが、
にtest.phpを開発ブランチにしておきたい。どうやってするの?
git merge
のデフォルトの動作は、ファイルを削除するだけです。
私はブランチdevelop
ファイルを持っています:Git - 削除をマージしない
release
私はそこからブランチを作成しています。 、
を削除test.phpは本番リリースには入っていません。次に、このブランチを
develop
にマージしたいが、
にtest.phpを開発ブランチにしておきたい。どうやってするの?
git merge
のデフォルトの動作は、ファイルを削除するだけです。
1/Iではなくrebaseは(あなたがまだリモートレポにそれをプッシュしていない場合)、すべての私の開発はまだ最新のリリースとの互換性があることを確認するために、マスターの上に枝を開発(およびそのすべてのだろうバグの修正)。
あなたの現在の開発が実際にリリース(大規模なリファクタリング)と異なる場合は、私はバグ修正をチェリーピックすることを検討します。
2 /マージ中にファイルをそのまま保持する必要がある場合は、merge manager in a .gitattribute
fileを開発ブランチでのみ設定できます。
は、リリースブランチから開発ブランチにはマージされません。代わりに、git cherry-pick
を使用してバグ修正を開発ブランチに適用します。
そして、test.phpの削除は独自のコミットで起こり、そのコミットはチェリーピックされませんか? – MatrixFrog
正しい。バグ修正はすべて自己完結型のコミットで表現する必要があります。その後、開発ブランチにバックポートする必要がある特定のコミットをチェリーピックすることができます。 – cdhowie
+1。私は追加するでしょう:**可能であれば、リリースブランチ**にバグ修正を書いてください。そして、 'git merge'を使って修正を開発ブランチにインポートすることができます。 – EOL
あなたの2番目の助言は役に立ちました、ありがとう! – galymzhan