4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Git】 頻繁にブランチを切り替えている人にオススメのファイル(タブ)記憶方法

Last updated at Posted at 2022-11-30

はじめに

普段開発をしていると、バグが発生して今開発しているものは一旦置いておいて、急ぎでバグ修正をしなければいけない場合がよくあるかと思います。
そんなときは、git stashコマンドを使用して一旦現在の変更を退避させて、皆さん別ブランチに切り替えてバグ修正を行っているかと思いますが、下記のようなことができたらいいなと思ったことありませんか・・・?

  • 退避させたブランチで開いていたファイル(タブ)も記憶したい
    ※ブランチ戻った際に、いちいち全てタブを開き直すのが面倒(もとのブランチのファイルをそのまま開いてバグ修正をするとタブがごちゃごちゃになって作業しづらいなど・・・)

今回は上記のような状況で活躍する、便利な拡張機能をご紹介します!

注意点
筆者はVSCodeでしか使用したことがありませんので、他エディターで使用できなかったらごめんなさい!

実現したいこと

  • ブランチを退避させる前に現在のブランチで開いているファイル(タブ)を記憶しておいて、別作業が終わってブランチに戻ってきて、git stash applyなどで退避した作業内容を呼び戻したあとに、以前記憶したファイル(タブ)をすべて復元する。

前提(準備)

  • Gitの基礎知識
  • VSCode
    • 他エディターでツールがあるかは検証してません。
  • Git Branch-wise Session
    • VSCodeのExtension(拡張機能)からインストール可能。

使い方(実際に使用する際の流れのイメージ)

  1. 作業中に、優先して対応するバグ修正が入る
  2. ブランチを退避させる前に、Cmd + Shift + Pで入力欄が出てくるので、> Git Branch-wise Session: Save Session for Current Branchと入力して選択し、ファイル(タブ)をここで記憶しておく。
  3. Cmd + Shift + Pで、> View: Close All Editorsと入力して記憶したファイルをすべて閉じておく(バグ修正する予定の別ブランチで作業しやすいようにスッキリさせておく)
  4. git stashコマンドで現ブランチの作業内容を退避させて、別ブランチ(バグ修正するブランチ)に移動する。
  5. バグ修正の対応作業完了後、ファイルをすべて閉じておいてから、以前作業していたブランチに戻ってgit stash applyなどで、退避させていた作業を復元させる。
  6. Cmd + Shift + Pで、> Git Branch-wise Session: Restore Saved Session for Current Branchと入力して選択すると、以前記憶してファイル(タブ)がすべて復元される。
  7. 以前の作業の続きをすぐに開始・・・!

コマンドの入力はある程度入力すると候補で出てきますので選択できるかつ、履歴が残るので次回は選択するだけでOK

※ちなみにあまり使用しないかもしれませんが、セッションは > Clear Session と打つと出てくるコマンドで消せるみたいです。

デモ

b71ae1546293aaa35d78a5da63c1b8d8.gif

終わりに

ちょこちょこと小さい修正をするために頻繁にブランチを変えている自分には・・・便利スギィ!!

参考

4
2
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?