開発者として、私たちは機能のコーディングに没頭しているときに、突然緊急の問題が発生し、すぐに対処する必要があるという状況に陥ることがよくあります。これに対処するには、Git のブランチを切り替える必要があります。ただし、現在の変更をまだコミットしていない場合、そうすることは危険である可能性があります。作業内容が失われたり、マージ競合に直面したりする可能性があります。
この投稿では、変更を失わずに Git のブランチを切り替える 2 つの効果的な戦略について説明します。
現在のブランチで新しい機能に取り組んでいると想像してください。いくつかの変更を加えましたが、まだコミットしていません。突然、別のブランチのバグを修正するリクエストを受け取りました。ジレンマ: 加えた変更を失わずに、他のブランチに切り替えて問題に対処するにはどうすればよいでしょうか?
Git には、この状況をスムーズに処理するための強力なツールがいくつか用意されています。それは、git stash と一時ブランチの作成です。
git stash とは何ですか?
git stash は、変更をコミットせずに一時的に保存 (または「スタッシュ」) できるコマンドです。これは、ブランチを切り替える必要があるが、後で何も失わずに現在の作業に戻りたい場合に便利です。
変更を隠しておく方法は次のとおりです:
変更を保管:
次のコマンドを実行して変更を隠します:
git stash
このコマンドは、コミットされていない変更を保存し、最後のコミットと一致するように作業ディレクトリをリセットします。
他のブランチに切り替える:
作業ディレクトリがクリーンになったので、安全に他のブランチに切り替えることができます:
git checkout
必要に応じて、他のブランチの緊急の問題を修正します。
問題に対処したら、元のブランチに戻ります:
git checkout
次に、次のようにして隠した変更を復元します:
git stash pop
このコマンドは、スタッシュされた変更を作業ディレクトリに適用し、スタッシュ リストからスタッシュを削除します。
機能ブランチで機能に取り組んでいて、マスターのバグを修正するリクエストを受け取ったとします:
git stash を使用して変更を保存します:
git スタッシュ
master ブランチに切り替えます:
git チェックアウト マスター
マスターのバグを修正し、変更をコミットします。
機能ブランチに戻ります:
git checkout 機能ブランチ
隠した変更を復元します:
git stash ポップ
これで、すべての変更がそのままの状態で、中断した場所に戻ります。
もう 1 つの方法は、変更を一時ブランチにコミットすることです。これは、ブランチを切り替える前に作業をコミットしたい場合に便利です。
まず、新しい一時ブランチを作成して切り替えます:
git checkout -b temp-branch
緊急の問題に対処する間、このブランチは現在の作業を保持します。
一時ブランチで作業をコミットします:
git add . git commit -m "WIP: Save work before switching branches"
次に、緊急の変更を加える必要があるブランチに切り替えます:
git checkout
問題を解決したら:
元のブランチに戻ります:
git checkout
作業内容を一時ブランチから元のブランチに戻したい場合は、それをマージできます:
git merge temp-branch
完了したら、一時ブランチを削除できます:
git branch -d temp-branch
簡単な例を見てみましょう:
一時ブランチを作成して切り替える:
git checkout -b temp-fix
現在の変更をコミットします:
git add . git commit -m "WIP: ブランチを切り替える前に一時保存"
問題を解決するには、必要なブランチに切り替えてください:
コードをコピー
git チェックアウト マスター
問題を修正したら、元のブランチに戻ります:
コードをコピー
git checkout 機能ブランチ
必要に応じて、一時的なブランチをマージします。
Git でのブランチの切り替えは、コミットされていない変更であってもスムーズでストレスフリーです。 git stash を活用するか、一時的なブランチを作成することで、ワークフローをシームレスに管理し、進行状況をそのまま維持できます。これらのテクニックは、進行中の作業を失うことなく、緊急の問題に迅速に対処するのに役立ちます。
次のプロジェクトでこれらの方法を試して、開発プロセスをどのように強化できるかを確認してください。
git stash の使用に関するこのガイドがお役に立てば幸いです。ご質問がある場合、またはさらに詳細が必要な場合は、お気軽に以下にコメントを残してください。
連絡してください:
GitHub: - 私のオープンソース プロジェクトとリポジトリを探索してください。
LinkedIn: - 専門的に私とつながり、私のキャリアに関する最新情報を入手してください。
より多くの洞察、最新情報、機会については、お気軽にお問い合わせいただくか、これらのプラットフォームで私をフォローしてください。読んでいただきありがとうございます!
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3