作業内容を失わずに Git のブランチを切り替える

WBOY
リリース: 2024-09-03 13:14:36
オリジナル
775 人が閲覧しました

Switch Branches in Git Without Losing Your Work

開発者として、機能のコーディングに没頭しているときに、突然緊急の問題が発生し、すぐに対処する必要があるという状況に陥ることがよくあります。これに対処するには、Git のブランチを切り替える必要があります。ただし、現在の変更をまだコミットしていない場合、そうすることは危険である可能性があります。作業内容が失われたり、マージ競合が発生したりする可能性があります。

この投稿では、変更を失わずに Git のブランチを切り替えるための 2 つの効果的な戦略を説明します。

シナリオを理解する

現在のブランチで新しい機能に取り組んでいると想像してください。いくつかの変更を加えましたが、まだコミットしていません。突然、別のブランチのバグを修正するリクエストを受け取りました。ジレンマ: 加えた変更を失わずに、他のブランチに切り替えて問題に対処するにはどうすればよいでしょうか?

Git には、この状況をスムーズに処理するための強力なツールがいくつか用意されています。それは、git stash と一時ブランチの作成です。

解決策 1: git stash を使用する

git stash とは何ですか?

git stash は、変更をコミットせずに一時的に保存 (または「隠し」) できるコマンドです。これは、ブランチを切り替える必要があるが、後で何も失わずに現在の作業に戻りたい場合に便利です。

git stash の使用方法

変更を隠しておく方法は次のとおりです:

  1. 変更を隠します:
    次のコマンドを実行して変更を隠します:

    git stash
    
    ログイン後にコピー

    このコマンドは、コミットされていない変更を保存し、最後のコミットと一致するように作業ディレクトリをリセットします。

  2. 他のブランチに切り替える:

作業ディレクトリがクリーンになったので、安全に他のブランチに切り替えることができます:

    git checkout <branch-name>
ログイン後にコピー
ログイン後にコピー

必要に応じて、他のブランチの緊急の問題を修正します。

  1. 隠した変更を復元します:

問題に対処したら、元のブランチに戻ります。

    git checkout <original-branch>
ログイン後にコピー
ログイン後にコピー

次に、次のようにして隠した変更を復元します。

    git stash pop
ログイン後にコピー

このコマンドは、スタッシュされた変更を作業ディレクトリに適用し、スタッシュ リストからスタッシュを削除します。

ワークフロー例

機能ブランチで機能に取り組んでいて、マスターのバグを修正するリクエストを受け取ったとします。

  1. git stash を使用して変更を保存します。

    git stash

  2. master ブランチに切り替えます:

    git チェックアウト マスター

  3. マスターのバグを修正し、変更をコミットします。

  4. 機能ブランチに戻ります:

    git checkout 機能ブランチ

  5. 隠していた変更を復元します:

    git stash ポップ

これで、すべての変更がそのままの状態で、中断した場所に戻ります。

解決策 2: 変更を一時ブランチにコミットする

もう 1 つの方法は、変更を一時ブランチにコミットすることです。これは、ブランチを切り替える前に作業をコミットしたい場合に便利です。

一時的なブランチの作成

  1. 一時ブランチを作成します:

まず、新しい一時ブランチを作成して切り替えます。

    git checkout -b temp-branch
ログイン後にコピー

緊急の問題に対処する間、このブランチは現在の作業を保持します。

  1. 変更をコミットします:

一時ブランチで作業をコミットします:

    git add . git commit -m "WIP: Save work before switching branches"
ログイン後にコピー
  1. 他のブランチに切り替えます:

次に、緊急の変更を行う必要があるブランチに切り替えます。

    git checkout <branch-name>
ログイン後にコピー
ログイン後にコピー

仕事を続ける

問題を解決したら:

  1. 元に戻す:

元のブランチに戻ります:

    git checkout <original-branch>
ログイン後にコピー
ログイン後にコピー
  1. 一時ブランチをマージします (オプション):

作業内容を一時ブランチから元のブランチに戻したい場合は、それをマージできます。

    git merge temp-branch
ログイン後にコピー
  1. 一時ブランチを削除します (オプション):

完了したら、一時ブランチを削除できます:

    git branch -d temp-branch<br>
ログイン後にコピー




ワークフロー例

簡単な例を見てみましょう:

  1. 一時ブランチを作成して切り替える:

    git checkout -b temp-fix

  2. 現在の変更をコミットします:

    git add 。 git commit -m "WIP: ブランチを切り替える前に一時保存"

  3. 問題を解決するには、必要なブランチに切り替えます:

    コードをコピー

    git チェックアウト マスター

  4. 問題を修正したら、元のブランチに戻ります:

    コードをコピー

    git checkout 機能ブランチ

  5. 必要に応じて、一時ブランチをマージします。

結論

Git でのブランチの切り替えは、コミットされていない変更であってもスムーズでストレスフリーです。 git stash を活用するか、一時的なブランチを作成することで、ワークフローをシームレスに管理し、進行状況をそのまま維持できます。これらのテクニックは、進行中の作業を失うことなく、緊急の問題に迅速に対処するのに役立ちます。

次のプロジェクトでこれらの方法を試して、開発プロセスをどのように強化できるかを確認してください。

git stash の使用に関するこのガイドがお役に立てば幸いです。ご質問がある場合、またはさらに詳しい情報が必要な場合は、お気軽に以下にコメントを残してください。

連絡してください:

GitHub: - 私のオープンソース プロジェクトとリポジトリを探索してください。
LinkedIn: - 専門的に私とつながり、私のキャリアに関する最新情報を入手してください。
より多くの洞察、最新情報、機会については、お気軽にお問い合わせいただくか、これらのプラットフォームで私をフォローしてください。読んでいただきありがとうございます!

以上が作業内容を失わずに Git のブランチを切り替えるの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!