1

チェリーピックについて質問です。デプロイと開発の 2 つの主要なブランチを持つプロジェクトがあります (これは単純化されていますが、正確なビューです)。デプロイは本番サーバーにデプロイしたものであり、開発は私たちが取り組んでいるものです (個々の機能/修正などの開発から離れた機能ブランチを使用)。

機能ブランチから開発にマージされた (個々の開発者のフォークからの GitHub プル リクエストを介して) コミットがあり、それを本番環境にプッシュする必要がありました。まだデプロイしたくない開発中の他のコミットがあったので、私はgit checkout deploy && git cherry-pick 049cae3 && git push必要な 1 つのコミットを取得します。これで問題なく動作し、コードは本番環境にプッシュされました。ただし、GitHub API を使用して deploy..develop の比較を行うステータス ダッシュボードがあり、develop で積み上げられたもののデプロイされていないコミットの数を確認できます。数値が変わらないことに気付きました。github の比較ページを見ると、チェリーピックしたコミットがまだ差分に表示されていました。これは、cherry-pick が新しい SHA でコミットを適用するため、GitHub がそれを両方のブランチにあると見なさないためだと思います。これらは 2 つの異なるコミットです。

ある時点で開発をデプロイにマージするので、これはおそらく大したことではありませんが、その場合、コミットが重複する可能性がありますよね? (そして、はい、私たちはマージを行っています。リベースは私を怖がらせますが、私はまだそれを理解していません)。

では、特定のコミットが 1 つ必要な状況を考えると、チェリー ピッキングは正しい方法でしたか? そうでない場合、何ですか?

4

0 に答える 0