「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > 作業内容を失わずに Git のブランチを切り替える

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

2024 年 11 月 6 日に公開
ブラウズ:958

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 

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

  1. 隠した変更を復元:

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

    git checkout 

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

    git stash pop

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

ワークフロー例

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

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

    git スタッシュ

  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 

仕事を続ける

問題を解決したら:

  1. 元に戻す:

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

    git checkout 
  1. 一時ブランチをマージします (オプション):

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

    git merge temp-branch
  1. 一時ブランチの削除 (オプション):

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

    git branch -d temp-branch




ワークフロー例

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

  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: - 専門的に私とつながり、私のキャリアに関する最新情報を入手してください。
より多くの洞察、最新情報、機会については、お気軽にお問い合わせいただくか、これらのプラットフォームで私をフォローしてください。読んでいただきありがとうございます!

リリースステートメント この記事は次の場所に転載されています: https://dev.to/asadbukhari/switch-branches-in-git-without-losing-your-work-2o18?1 侵害がある場合は、[email protected] に連絡して削除してください。それ
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3