ホームページ > ウェブフロントエンド > CSSチュートリアル > GitでCherry-Pickingがコミットします

GitでCherry-Pickingがコミットします

Joseph Gordon-Levitt
リリース: 2025-03-17 11:08:10
オリジナル
856 人が閲覧しました

GitでCherry-Pickingがコミットします

この記事では、「Advanced Git」シリーズを継続しています。 Twitterでフォローするか、今後の記事の最新情報についてはニュースレターを購読してください!

前回の記事では、リベッシングとマージを探索しました。微妙に異なっていますが、 git mergegit rebase両方が同じ基本的な目的を果たします。あるブランチから別のブランチへの変更を統合します。

この記事では、 git cherry-pick 、あらゆる支店から現在の頭への個々のコミットを選択できる強力なコマンドです。これは、Source Branchからすべての新しいコミットを組み込んだgit mergeおよびgit rebaseとは対照的です。

なぜ単一のコミットを選択的に適用するのですか?重要なユースケースは、エラーを修正することです。誤って間違った枝にコミットすることを想像してください。 cherry-pick修正を簡素化します:正しいブランチに切り替えて、誤ったコミットをチェリーピックします。

高度なGitシリーズ:

  • パート1:理想的なgitコミットを作成します
  • パート2:効果的なGit分岐戦略
  • パート3:プルリクエストとのコラボレーションの合理化
  • パート4:マージの競合の解決
  • パート5:リベッシングとマージ:比較
  • パート6:インタラクティブなリベースのマスター
  • パート7: GitでCherry-Picking Commits(あなたはここにいます!
  • パート8:失われた失われたリフレグとのコミットメントの回復

注意の言葉: cherry-pickへの過度の依存を避けてください。 git mergegit rebaseによって促進されるブランチレベルのワークフローが一般的に推奨されます。 cherry-pickは、特定の状況に役立つ貴重なツールであり、標準のマージやリベッシングに代わるものではありません

コミットの再配置

このシナリオを考えてみましょう。 feature/newsletterブランチを目的としたコミットは、誤ってmasterに上陸しました。次のタワースクリーンショット(Macos and Windows用のgit gui)はこれ26bf1b48示していますmaster

または、コマンドラインが問題を明らかにします。

 $ gitログ
Commit 26BF1B4808BA9783E4FABB19EC81E7A4C8160194(Head-> Master)
著者:TobiasGünther
日付:10月5日金曜日09:58:03 2018 0200

    ニュースレターサインアップページ
ログイン後にコピー

Commit 26bf1b48feature/newsletterに属します。 cherry-pickを使用して移動しましょう。

 $ gitチェックアウト機能/ニュースレター
ブランチ「機能/ニュースレター」に切り替えた
$ gitステータス
ブランチ機能/ニュースレター
コミットするものは何もありません
$ git cherry-pick 26bf1b48
[機能/ニュースレター7FB55D0]ニュースレターサインアップページ
 著者:TobiasGünther 
 日付:10月5日金曜日09:58:03 2018 0200
 1ファイルの変更、0挿入()、0 deletions( - )
 モード100644 signup.htmlを作成します
ログイン後にコピー

git logfeature/newsletterのコミットを表示します。

 $ gitログ
コミット7FB55D06A8E70FDCE46921A8A3D3A9DE7F7FB8D7(Head-> Feature/Newsletter)
著者:TobiasGünther 
日付:10月5日金曜日09:58:03 2018 0200

    ニュースレターサインアップページ
ログイン後にコピー

注: cherry-pickコミットのコピーを作成し、オリジナルをそのまま残します。

クリーンアップ

「間違った」コミットはmasterに残ります。 git resetそれを削除します:

 $ gitチェックアウトマスター
ブランチ「マスター」に切り替えた
$ gitリセット - ヘッドヘッド〜1
ヘッドは現在776F8CAでタイトルと削除エラーページについて変更します
ログイン後にコピー

タワーGUIは、このプロセス全体を視覚化します。

毎日のドライバーではなく、専門のツール

可能な場合は、 mergeまたはrebaseを優先します。特に個人のコミットを移動するのに適していない状況のためにcherry-pickを予約します。 git cherry-pick複製がコミットすることを忘れないでください。その後は常にクリーンアップしてください。

分岐戦略、インタラクティブなリベース、リフェログ、サブモジュールなど、より深いギットツールへのより深いダイブのための無料の「Advanced Git Kit」を探索してください。

ハッピーチェリーピッキング、そして次の「高度なgit」分割払いでお会いしましょう!

高度なGitシリーズ:

  • パート1:理想的なgitコミットを作成します
  • パート2:効果的なGit分岐戦略
  • パート3:プルリクエストとのコラボレーションの合理化
  • パート4:マージの競合の解決
  • パート5:リベッシングとマージ:比較
  • パート6:インタラクティブなリベースのマスター
  • パート7: GitでCherry-Picking Commits(あなたはここにいます!
  • パート8:失われた失われたリフレグとのコミットメントの回復

以上がGitでCherry-Pickingがコミットしますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート