24

トランク、プロダクションの 2 つのブランチがあります。トランクに問題が見つかり、修正してコミットし、プッシュしました。これでテストが完了し、修正プログラムとして変更を本番ブランチにマージする必要があります。チェリーピックを使ってみました。ただし、修正で変更されたファイルの名前がトランクで以前にリファクタリング中に変更されたため、動作しません。

すべてをマージしたくありませんが、このコミットのみを取得します。チェリーピックは「私たちによって削除されました」という競合で失敗します(もちろん、新しいファイルは本番ブランチには存在しませんでした)。

古いファイルに変更を反映する正しい方法は何ですか?

4

7 に答える 7

14

これには古き良きパッチを使用します。

git show COMMIT_ID -- old/file/name.txt | patch new/file/name.txt
于 2012-03-19T16:02:24.373 に答える
0

私は同じ問題を経験し、解決策を見つけようとしました。

一連のリベースを使用して解決しました。私はこれら以上のテストを行っていないので、自己責任で使用してください!

興味がある場合は、githubでご覧ください。

https://github.com/fraschfn/cherry-pick

于 2012-08-02T11:42:54.993 に答える
0

これはちょっと難しいです。たとえば、差分からパッチを作成し、それを古いファイルに適用できます。しかし、将来的にはこれらの問題を防ぐために、プロダクション ブランチで修正を行い、最初にそこでテストしてから、プロダクションからトランクにマージすることをお勧めします。

于 2012-03-19T15:33:29.277 に答える