VSCodeでブランチを切り替える際の挙動が、前職のPCと今のPCで違うので、前職のPCの挙動に変更したいと思っています。
やりかたがわからないので、ご存知の方、教えて下さい。
#再現したい挙動
まず状況としては、AとBという2つのブランチがあったとして
Aでソースを変更して保存し、コミットせずにブランチを切り替えようとしたときの挙動の話になります。
前職のPCでは、このとき
1.ブランチAでの変更はブランチAに保持され、ブランチBにチェックアウトした際にはその変更は反映されていない。
(ブランチAにチェックアウトし直すと、きちんと変更される。)
というような挙動になっていました。
しかし、今のPCでは
2.ブランチAでの変更が、ブランチBにチェックアウトしても維持される。(commitやstashしない限り、ソースの変更内容をブランチごとに切り分けることはできない)
というような挙動になっています。
他の方に相談したところ、その人はさらに挙動が違うようで
3.そもそもcommitしてないことを警告され、チェックアウトができない(無視してチェックアウトすると、変更が破棄される)
というような挙動になっているそうです。
#試したこと
- VSCodeのGUIでの操作ではなく、ターミナルから
git checkout
してみました。
→2と同じ挙動になりました。
- 前職のPCの挙動は拡張機能の影響だったのかと思い、Git関連の拡張機能としてはGitLensくらいしか入れた覚えがなかったので、GitLensをいれてみました。
→挙動が変わり、3の挙動になりました。(ちなみにこのあとGitLens削除しても3の挙動のままでした)
#まとめ
2の挙動から3の挙動に変わったのは不思議ですが、そこは重要ではなく、
とにかく1の挙動になってほしいというのが本題です。
git stash
すればいいとか、SourceTreeを使えばそのような挙動になるみたいなアドバイスはもらえたのですが、
以前できていた操作のほうが使いやすいのにそれを再現できないというのが気持ち悪いので、
VSCodeで1の挙動を再現する方法を教えて頂けたら助かりますm(_ _)m
#追記
前職ではBitBucketを使っており、今はGitHubを使っていて、そこが何かしら関係している可能性があるかもしれません。
その場合、なにをどう調べればいいかもわからないので、とりあえず同じようにBitBucketを使っている人が
1の挙動になるのか、ならないのか確認のため教えていただけると幸いです。
またSourceTreeを使ってみましたがやはり1の挙動にはならないようで、
アドバイスくれた方に再確認したところ、よくよく聞くとやはりその人も2の挙動になっているようでした。
そのため回答欄で教えていただいたとおり、1の挙動になっていたのはかなり特殊な状況だったようですが
特にそういった設定もした記憶がないのに1の挙動になっていた理由(環境のせいなのか、設定のせいなのか等)がとても気になります。
(もちろん前職の環境構築の際に、意識していないところでそういう設定がされていた可能性もあるとおもいますが。)
設定のせいであれば、どういう設定をすればそのようになるのかだとか、
その方法をとった上でどういうデメリットがあるのかはとても気になりますので、やはり一度再現してみたいところです。
回答2件
あなたの回答
tips
プレビュー