GitHub入門チュートリアル-Gitブランチ、マージ、バックトラック

はじめに:
前回の記事では、ブロガーがGitの基本的な概念と簡単なコマンドの使用法について説明しました。今日、この記事のブロガーは、日常の開発でよく使用されるGitのいくつかについて説明します。コマンドとその使用方法、今日は主に分岐の概念、およびマージとバックトラックについて説明します。ここでは、それほど長くはありませんが、今日のトピックです。このトピックに関するブログ投稿をフォローしてください

1.ブランチ

  • ブランチは、Gitに最初に触れた多くの小さなパートナーの学習パス上の大きな山であると言えます。ブランチは、山を下るときに臆病に停止します。実際、この概念は難しくありません。プログラマーとして、ブランチはなじみがあり、想像するのが難しいはずです。プログラミングの世界にブランチがない場合は、プログラミング言語を学習する最初のステップ(Hello wordを印刷)から始め、2番目のステップはブランチを学習することです(そうでない場合)。これも表示されます。ブランチの重要性に関しては、Gitのブランチについても同じことが言えます。すべてが同じです。基本的な原則と実践を理解していれば、このことをもう一度学ぶのは簡単です。
  • まず、なぜ枝があるのか​​についてお話ししましょう。
    • 小学校で教え問題でみましょう最初の外観は:
      3分間あなたの顔を洗って、2分間歯を磨く、2分、10分間の蒸気ご飯のために立ち上がって、そして5分間食べ、どのように多くの分、それが最後に仕上げのすべてに行くことができます。?
      明らかに1つ目は起き上がってからご飯を蒸し、ご飯を蒸しながら歯を磨いて顔を洗って最後に食べる、つまり蒸しと洗うのを同時に行うという並行コンセプトで、時間を大幅に短縮し、時間の活用を向上させますレート、開発は同じです。技術業界は各自の強みを専門としているため、開発プロセスをさまざまな段階(段階)に分割し、さまざまな段階に応じて必要な実行時間を予測し、タスクを合理的に割り当てることもできます。 、タレントを最大限に活用するために、このタスクに適した人を配置するだけで、このタスクを完了できます。これらの概念は、作業ディレクトリ分解(WBS)の知識です。
    • ケースを読んだ後、ケースを理解していませんか?写真を見てください:
      ここに写真の説明を挿入
      私たちのタスクは常にメインタスク(マスター)であり、これらのタスクは必要に応じて分割されてセカンダリタスクに分解され、セカンダリタスクが完了した後、メインタスクが続きます。マージすると、これはGitブランチのアイデアです。
  • git branch display branch information
    このコマンドは、現在の作業ツリーの下にあるブランチと、現在オンになっているブランチを表示するために使用されます。最後に新しく作成された作業ディレクトリを入力します。このコマンドを実行して表示します。 :
    ここに写真の説明を挿入
    現在のプロジェクトにはマスターブランチが1つしかないことがわかります。このブランチは、プロジェクトのGitが初期化されると自動的に作成されます。一般的に、マスターブランチのバージョンはリリース用の安定したバージョンであり、ブランチのバージョンは次のように使用されます。新しい機能を開発するために、ブランチ名の前の*記号は現在のブランチを示します。
  • git branch branch_nameは、新しいブランチを作成します。
    前のコマンドと違いは、後ろに独自のブランチ名を追加すると、その名前のブランチが作成されることです。
    ここに写真の説明を挿入
    このコマンドを使用して、branch1という名前の新しいブランチを作成します。 、次に、現在のプロジェクトのすべてのブランチを確認すると、作成したばかりのブランチがもう1つあることがわかります。
  • git checkout branch_nameブランチを切り替えることを選択します。
    別のブランチに切り替える場合は、このコマンド
    ここに写真の説明を挿入
    を使用できます。このコマンドを使用して、指定したブランチに切り替えてから、ブランチの状況を再度確認します。*が新しく作成されたブランチの前にジャンプしたことを確認でき、切り替えたことを示します。このブランチはここにあります。
    ここに写真の説明を挿入
    新しく作成されたブランチのログを確認すると、両側のログに違いがないことがわかります。つまり、ブランチを作成するプロセスは、現在のマスターブランチの状態を新しいブランチにコピーして再試行することです。新しいブランチのREDEME.mdファイルに別の行を追加してみてください
    ここに写真の説明を挿入
    !!!ここで黒板を押す必要があることに注意してください。コマンドがたくさんあります。説明させてください。最初に、branch1ブランチのREDEME.mdファイルに行を追加します。コンテンツ、次にこの操作をbranch1で送信し、次にbranch1のREDEME.mdファイルのコンテンツを表示し、コマンドを使用してmasterブランチに切り替え、masterブランチのREDEME.mdファイルの内容を再度確認して調べました。マスターブランチでは、branch1の変更を確認できません。つまり、ブランチは独立しています。
  • git checkout -b branch_nameは、ターゲットブランチを作成して切り替えます。-
    bパラメータを使用すると、そのポイントを直接作成して切り替えます。ターゲットブランチが存在する場合は、
    ここに写真の説明を挿入
    この方法を使用する方が便利かどうかを確認するメッセージが表示れます。ブランチの作成に使用される方法は同じです。

2.支店の合併

  • マージ
    時にマージを記録するため、git mergeは、パラメーター "--no-ff"も追加する必要があります。これにより、マージが送信されてコレクションが作成され、ログに記録されます。
    ここに写真の説明を挿入
    図からご覧のとおり、最初にマスターブランチに切り替えてから、branch1ブランチとマージするコマンドを実行しました。このコマンドを実行すると、編集ボックスがポップアップ表示され、この送信の説明を入力できます。Ctrl+ Xで保存して終了できます。次に、このマージが正常に送信されたので、ログを確認します。
    ここに写真の説明を挿入
    ここでログを確認するために、新しいパラメータ「--graph」を使用しました。名前が示すように、このパラメータを追加すると、ログがグラフとして表示され、これで確認できます。プロジェクトバージョンのプロセスラインにとって、異なる位置のラインは異なるブランチを表し、ラインのオーバーラップはブランチのマージ操作を表します。

3.過去のバージョンに戻る

  • git reset
    誰もが時間をシャトルできることを望んでいますが、実際の生活ではできませんが、Gitではリアルタイムの旅行になることができます。あなたが神である場合、歴史を自由に歪めることができます。 、何人かの友人はあなたがこの能力を持っている理由を尋ねるかもしれません、私はここで類推します、あなたはCtrl + zなしでこの世界で何が起こるか想像できます、それは混乱するはずです、あなたのすべての奴隷操作は薄い氷の上になければなりません、注意してください。戻ることはできず、間違った場合にのみ再開できます。幸い、Gitは人道的です。強力なバージョンツールとして、このような状況にどのように耐えることができるので、バックトラック機能があります。 。しかし、branch1が作成されたときに戻りたい場合は、どうすればよいかを見てみましょう。まず、最初の記事のログにあるハッシュコードを覚えておく必要があります。はい、それは時間のシンボルであり、時間と空間を開くことです。旅行の秘訣方法を見てみましょう:
    ここに写真の説明を挿入
    「-hard」を使用してその時点のハッシュコード値を指定し、その時点に戻します。実行後、ログを確認し、その時点以降の送信を確認します。インシデントはすべて解消されました。心配しないでください。戻る方法があります。
    現在の時点でブランチを作成して、もう一度試してみましょう
    ここに写真の説明を挿入
    ファイルは、変更の痕跡がなく、その時点でのコンテンツであることがわかります。次に、新しく作成したブランチのREDEME.mdファイルに別のコンテンツ行を追加して、試してみます。
    ここに写真の説明を挿入
    問題はありませんすべて正常です。元の時点に戻ります。どうすればよいですか、注意してください。問題が見つかりました。ハッシュコードはいつでもシャトルのキーとして使用できると言い始めていませんでした。現在表示しているログには現在の時点のみが表示され、元の操作ログはありません。どうすればよいですか。スクリーンショットを撮り、戻る前にハッシュコードを覚えておく必要があるかもしれ
    ません。ハハハもちろん...いいえ、Gitは強力なバージョンコントロールツールです。設計の最初に検討する必要があります。必要なコマンドは1つだけです。現在の倉庫のすべてのログ情報を表示できます
  • git reflog
    コマンドを使用すると、すべての操作レコードを表示できます。次の使用例を確認してください。
    ここに写真の説明を挿入
    このコマンドを使用すると、ブランチの切り替えなどを含むすべての操作レコードを確認でき、リセット実行の時点がわかります。 、この時点より前に切り替えるか、前のリセットコマンドを使用して転送する必要があります。実際、必要なハッシュコードは最初の数個だけです。試してみましょう。
    続行する前にマスターに切り替える必要があることに注意してください。シャトル、それ以外の場合は現在のブランチの時点で進んでいます。ここでブロガーはマスターを切り替えるためのステップチャートをカットするのを忘れていたので注意してここに写真の説明を挿入
    ください元の時点に正常に戻ったことがわかります。試してみましょう。作成したbranch_preをマージしてみてください:
    ここに写真の説明を挿入
    残念ながら、マージは成功しませんでした。競合があることを示すプロンプトが表示されます。競合するファイル(README.md)を変更して送信します。次に、REDEME.mdファイルがどのようになるかを見てみましょう。見てください。ここに写真の説明を挿入
    このようになっているのは非常に奇妙であることがわかります=======上記は現在のHEADのコンテンツであり、以下はマージされるコンテンツです。つまり、2行にエラーがあります。この場合、保持する必要があるのは多くの場合だけです。次の行で
    ここに写真の説明を挿入
    十分です。一度変更してみましょう。競合が解決された後、このマージが成功するように、再度送信することがわかります。

これがこの記事の全内容です。お役に立てば幸いです。この記事が気に入った場合は、離れる前に小さな手を動かして気に入ってください。ありがとうございます。

おすすめ

転載: blog.csdn.net/qq_42359956/article/details/105840915