プログラミング
 Computer >> コンピューター >  >> プログラミング >> プログラミング

Git Cherry Pick:ステップバイステップガイド

初心者の開発者として、私たちは単に繰り返しを通してgitを学びます。 git pull、git push、およびgitcommitがそれぞれ何を意味するのかをすばやく学びます。より大きなプロジェクトでの作業に移行し、チームと協力するにつれて、プロジェクトで作業する個人間でコードベースのバージョン管理履歴をまっすぐに保つのに役立つ、より高度なgitコマンドを学び始めます。

そのようなコマンドの1つは、gitcherry-pickです。 gitcherry-pickコマンドは、あるブランチから特定のコミットを取得し、それらを別の機能ブランチまたはマスターブランチのHEADにアタッチする場合に使用されます。

gitcherry-pickとは何ですか?

チェリーピッキングは、グループプロジェクトに取り組んでいると考えてください。それぞれの人は彼または彼女が働く必要がある特定のセクションを持っています。最後に、各セクションを1つのプロジェクトにまとめます。特定のセクションの一部を取り、それを別のセクションの一部に接続して、プロジェクトの流れを改善することができます。

これは本質的にgitcherry-pickとは何かです。1つの機能ブランチから1つまたは複数のコミットを取得し、それを新しいコミットとして別のブランチにアタッチします。それがどのように機能するかを見てみましょう:

Git Cherry Pick:ステップバイステップガイド

この基本的な図は、gitによって追跡されるプロジェクトからの2つのブランチを表しています。文字は、それぞれのブランチのgitリポジトリに対して行われたさまざまなコミットを表しています。ダッシュは、最も古いものから最も若いものまでの履歴を表します。 2つのブランチの構造と、次の手順を実行するときにそれらがどのように機能するかを想像してみてください。

gitcherry-pickを完了する手順

各gitcommitまたは文字(上記の図を参照)をチェリーと考えてください。各チェリーには一意のハッシュが関連付けられています。ハッシュが何かわからない場合は、コミットに関連付けられているフィンガープリントまたは一意の識別子と考えてください。そのチェリーを選んで別のブランチに追加するには、そのハッシュが必要です。

  1. git checkout<name of branch you’d like to grab commit from>
    コミット/チェリーを選択したいブランチにチェックアウトします。
  2. git reflog
    git参照ログ、reflog 、最近行われたアクションを追跡します。 gitreflogの例を次に示します。
    % git reflog
    bf654bb (HEAD -> master, origin/master) HEAD@{0}: commit: last commit message made
    2394353 HEAD@{1}: commit: where head was 2 commit messages ago
    b4b51eb HEAD@{2}: commit: where head was 3 commit messages ago


    大規模なチームで作業している場合、コミット参照ログには、日付、時刻、コミットを行った作成者などの詳細情報が含まれている場合があります。ただし、ここには、コミットハッシュ、コミットが行われたブランチ、行われたアクション、および実際のコミットメッセージが表示されます。

    他のブランチに追加するコミットが決まったら、ハッシュに注意してください。ハッシュは、この例の各行の先頭にある数字と文字の文字列です。
  3. gitcheckout<コミットを追加するブランチの名前>
    ハッシュを書き留めたら、コミットを追加するブランチに切り替えます。
  4. git Cherry-pick[-x]<コミットハッシュ>
    コミットハッシュを指定してgitcherry-pickコマンドを使用し、そのブランチの作業ツリーにコミットを追加します。パブリックブランチからチェリーピックする場合は、-xフラグを使用します。これにより、チェリーピック元の元のコミットを示す行が追加されます。
    さくらんぼを選んだ後の図をもう一度見てみましょう。

さくらんぼを選んだ後の図をもう一度見てみましょう。

Git Cherry Pick:ステップバイステップガイド

この例で選択した「チェリー」またはコミットハッシュは「C」です。上記の手順を実行した後、選択したコミット(この場合は「C」)が、2番目のブランチの履歴へのコミットとして追加されます。

参加者の81%は、ブートキャンプに参加した後、自分たちの技術的な仕事の見通しについてより自信を持っていると述べました。今日のブートキャンプにマッチしましょう。

平均的なブートキャンプの卒業生は、ブートキャンプの開始から最初の仕事を見つけるまで、キャリアの移行に6か月も費やしませんでした。

最終メモ

最後に行うことは、厳選されたコミットからメモをコピーすることです。 git notes copy <cherry-picked commit hash> <new-commit-hash>を使用します 元のコミットで作成されたメモをコピーします。

また、結果として発生する可能性のあるマージの競合を必ず解決してください。
この記事では、gitcherry-pickと呼ばれる高度なgitコマンドを使用するために必要なプロセスを見ていきました。あるブランチからコミットを取得して別のブランチに追加する必要がある場合に使用します。


  1. Javaコンパイラ:ステップバイステップガイド

    5年から10年前は、Javaの学習は今ほど利用しやすくありませんでした。当時は、マシンで実行するコンパイラとインタプリタを含むJava Development Kit(JDK)をダウンロードする必要がありました。現在、オンラインで無料で利用できるJavaコンパイラが多数あります。この記事では、Java言語のコンパイルがどのように機能するか、およびプロジェクトを実践および作成するためにオンラインで利用できるいくつかのツールについて少し説明します。 Javaプログラムはどのように実行されますか? Javaは完全にコンパイルされたプログラミング言語ではありません。ただし、完全に解釈され

  2. jQuery find():ステップバイステップガイド

    jQuery find() メソッドはおなじみのように聞こえるかもしれませんが、JavaScriptメソッドのfind()!と混同しないでください。 どちらも物事を「見つける」が、返されるものはまったく異なる可能性がある。 JavaScriptでは、find() メソッドは配列でのみ呼び出すことができます。 後で呼び出されるように、引数としてメソッドに渡される関数であるコールバック関数を取ります。コールバック関数で概説されている要件を満たす最初の要素を見つけて返します。 jQuery find() 方法はかなり異なります。すべてのjQueryメソッドと同様に、セレクターで呼び出され