この記事では、「Advanced Git」シリーズを継続しています。 Twitterでフォローするか、今後の記事の最新情報についてはニュースレターを購読してください!
前回の記事では、リベッシングとマージを探索しました。微妙に異なっていますが、 git merge
とgit 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 merge
とgit 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 26bf1b48
はfeature/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 log
、 feature/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 サイトの他の関連記事を参照してください。

Goofontsは、開発者妻とデザイナーの夫によって署名されたサイドプロジェクトであり、どちらもタイポグラフィの大ファンです。 Googleにタグを付けています

Pavithra Kodmadは、彼らが変化したWeb開発に関する最も時代を超越した記事のいくつかであると考えていることについて、人々に推奨事項を求めました

GraphQL APIの構築方法を学ぶことは非常に挑戦的です。ただし、10分でGraphQL APIを使用する方法を学ぶことができます!そして、それは私が完璧になったことがあります

ここでは、Yuanchuanからの合法的なCSSの策略があります。このCSSプロパティオフセットパスがあります。むかしむかし、それはモーションパスと呼ばれ、その後改名されました。私


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

WebStorm Mac版
便利なJavaScript開発ツール

SublimeText3 中国語版
中国語版、とても使いやすい

Dreamweaver Mac版
ビジュアル Web 開発ツール

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター
