開発環境と本番環境で別々の設定ファイルを使用することを検討してください
cherry-pick通常、特定のコミットのみを一連の開発にマージするための最良かつ最も簡単なオプションです。通常のコマンドを使用する代わりに、cherry-pick開発ブランチから/release ブランチに常にコミットする必要がある場合は、設定ファイルのオーバーライドを回避するために、いくつかによって生成された設定ファイルの運用、デプロイされたバージョンを検討することをお勧めします。展開中のスクリプトの種類、および/または開発環境と本番環境用の個別の設定ファイル (および.mastermergedev.settingsproduction.settings
の代替cherry-pick
またはパッチをcherry-pick使用して同じ効果を達成することもできますが、単一のコミットを選択しようとしているだけで、パッチを使用するとより多くの手順が必要な場合は、使用するのが面倒になる可能性があります。rebase --ontorebase --onto
rebasevscherry-pick単一のコミットを選択する
と比べて面倒な場合がある例としてrebase --onto、ブランチcherry-pickに次のコミットがあるとします。develop
develop
A <- B <- C <- D
ブランチにマージCしたいだけだとしましょう。masterを使用cherry-pickすると、これを使用するだけです ( がオンの場合master)
git cherry-pick C
ただし、コミットを 1 つだけ選択するにrebase --ontoは、次のようにする必要があります。
git rebase --onto master B C
master上記では、 の現在の位置をの新しいベース コミット/親として使用したいということでCありB、古いベース/親です。
rebasevscherry-pickコミットの範囲を選択する
ただし、コミットの範囲の選択は、2 つのコマンド間で非常に似ています。たとえば、 と の両方をマージするBとしCます。それで
git cherry-pick A..C
git rebase --onto master A C
がチェックアウトさcherry-pickれている間に行う必要がありますが、そうではありません。masterrebase --ontomaster
パッチの使用
パッチを使用するとさらに多くの作業が必要になることを確認したい場合は、Pro Git bookでパッチの使用について読むことができます。