インタラクティブな再ベースを行う

GitGitBeginner
今すぐ練習

This tutorial is from open-source community. Access the source code

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

Git は、開発者がコードベースを効率的に管理できる強力なバージョン管理システムです。Git の最も便利な機能の 1 つは、インタラクティブな再ベースで、これにより開発者はブランチのコミット履歴を変更できます。このチャレンジでは、Git を使ってインタラクティブな再ベースを行う方法を学びます。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL git(("Git")) -.-> git/BranchManagementGroup(["Branch Management"]) git/BranchManagementGroup -.-> git/rebase("Reapply Commits") subgraph Lab Skills git/rebase -.-> lab-12735{{"インタラクティブな再ベースを行う"}} end

インタラクティブな再ベースを行う

開発者チームと共同作業しているプロジェクトに取り組んでおり、自分のブランチにいくつかのコミットを行ってきました。しかし、いくつかのコミットは不要であることや、結合する必要があることに気づきました。コミット履歴を整理し、もっと整然としたものにしたいと思っています。

この実験では、https://github.com/labex-labs/git-playground のリポジトリを使用しましょう。以下の手順に従ってください。

  1. ディレクトリに移動します。
    cd git-playground
  2. 最後の 2 つのコミットのインタラクティブな再ベースを行います。
    git rebase -i HEAD~2
    インタラクティブな再ベースファイルが既定のテキストエディタで開きます。コミットの順序と、それぞれに対して実行するアクション(pick、squash、drop、reword など)を変更できます。
  3. コミットメッセージ「Added file2.txt」の中で「pick」を「squash」に変更し、Esc キーを押して :wq コマンドを入力し、その後 Enter キーを押して変更を保存してエディタを終了し、同じ方法でコミットメッセージを「Added file1.txt and file2.txt」に変更して終了します。
  4. マージコンフリクトが発生した場合や変更が必要な場合は、準備ができたら git rebase --continue を使用して再ベースを続けるか、git rebase --abort を使用して中止することができます。

git log を実行すると、次のような結果が得られます。

commit 7575ded485555c28ecb09487c68e90639bebbe9d (HEAD -> master)
Author: Hang <[email protected]>
Date:   Wed Apr 26 14:16:25 2023 +0800

    Added file1.txt and file2.txt

commit b00b9374a7c549d1af111aa777fdcc868d8a2a01
Author: Hang <[email protected]>
Date:   Wed Apr 26 14:16:00 2023 +0800

    Initial commit

まとめ

このチャレンジでは、Git を使ってインタラクティブな再ベースを行う方法を学びました。インタラクティブな再ベースは、ブランチのコミット履歴を変更し、もっと整然として管理しやすくする強力なツールです。このチャレンジを完了することで、Git の使用に関する貴重な経験を得ることができ、この知識を将来のプロジェクトに応用することができます。