Git UI - Visual StudioとVS Codeの使い方と差異
概要
Visual StudioとVisual Studio Code(以下VS Code)には優れたGitのUIが搭載されています。秀逸なUXによりGit特有の複雑さを意識させずに、変更管理が可能となっています。
これらのUIには多少の差異があります。この記事では、各UIにおける主要な使い方をまとめ、その差異をあえてピックアップしまとめていきます。Gitをこれから使い始める人にも参考になるような資料になっていると思います。
Download and Info
🟪 Visual Studio
🟦 VS Code
🟧 Git
環境
より直感的に操作できるよう構成しています。
🟪 Visual Studio
-
Version
-
Visual Studio 2022
Version 17
-
-
Extension
- なし
-
Preview Feature
Enable line-staging support
-
Git UIの画面名
Git Changes
🟦 VS Code
-
Version
-
Visual Studio Code
Version 1.70
-
-
Extension
GitLens
Git Graph
-
Git UIの画面名
-
SOURCE CONTROL
- リポジトリ取得後、
SOURCE CONTROL REPOSITORIES
を表示
- リポジトリ取得後、
-
所感
- 共にデフォルトでも高品質なUX
- 共にリリースノートを見るとGit UIの改善が行われ続けている
-
VS Code
は軽量重視の思想なので、操作や利便性のために拡張機能があるとよりよい
Git UIを開く
変更履歴管理を行うための画面を開きます。
🟪Visual Studio
上部のメニューのView
からGit Changes
を選択します。
ショートカットはCtrl + 0 -> Ctrl + G
のコンビネーションです。
以下の画面がGit Changes
画面です。
Repository
を展開する前はこのような表示となっています。
🟦VS Code
左部のメニューからSOURCE CONTROL
のアイコンを選択します。
ショートカットはCtrl(Cmd) + shift + G
です。
以下の画面がSOURCE CONTROL
画面です。
Repository
を展開する前はこのような表示となっています。
所感
-
VS Code
の方がUI配置/デフォルトショートカットどちらも直感的で扱いやすい -
VS Code
の一体感はGitを使うことを前提に作られたデザインだけある(V1.0資料) -
Visual Studio
のUIは後発にリリースされたもの。後発だけあって操作性がかなり高い(V16.8リリースノート)
Clone - リポジトリのダウンロード
リポジトリをダウンロードし展開します。
🟪 Visual Studio
Pick up
クローン
🟦 VS Code
Pick up
クローン
所感
-
Visual Studio
の方が操作の誘導が明確 -
Visual Studio
はPathをキーボード入力した場合そのパスで展開されてしまうので、予め展開したいフォルダを作成しておく必要がある -
VS Code
のSOURCE CONTROL REPOSITORIES
は操作性が良いので、リポジトリを展開したタイミングで表示しておく
Branch - ブランチ作成/削除
ブランチを操作します。
操作としては以下のステップを実施します。
-
main
ブランチからfeature
ブランチを作成し、切り替える -
main
ブランチに切り替え直し、作成したfeature
ブランチを削除する
🟪 Visual Studio
Pick up
ブランチ作成
ブランチ削除
🟦 VS Code
Pick up
ブランチ作成
ブランチ削除
所感
-
Visual Studio
はブランチ操作が洗練されている -
VS Code
はSOURCE CONTROL REPOSITORIES
の表示とGit Graph
を利用することで操作を迷いにくくなる
Commit - 変更の保存/履歴の確認
変更をブランチに記録します。
操作としては以下のステップを実施します。
- ファイルを変更する
- 変更をコミットする
- 変更履歴を確認する
🟪 Visual Studio
Pick up
コミット
履歴
🟦 VS Code
Pick up
コミット
履歴
所感
-
VS Code
はGit変更として認識させるにはファイルの保存が必要 -
VS Code
で履歴からのコミットの確認する時、ファイル一覧が表示されないのでコミットに関連する別のファイルを見たい時不便 -
Visual Studio
の履歴からのコミットの確認で変更情報がかなり詰まった表示になるため、タブボタンを押して全体表示に切り替えるとよい
Pull/Rebase - ローカルに変更を取り込む
チームで作業している場合などで利用します。ローカルに更新をを取り込み、PullRequest前に競合を解決したり履歴が乖離しすぎることを防ぎます。
プル
リベース
操作としては以下のステップを実施します。
- リモートに変更のあるブランチに切り替える
- プルで履歴を取り込む
- 作業中のブランチに切り替える
- リベースで変更を作業中ブランチに適応する
状況のわかりやすさのため履歴を表示した状態で操作しています。
🟪 Visual Studio
Pick up
プル
リベース
🟦 VS Code
Pick up
プル
リベース
所感
-
Visual Studio
の画面にある操作アイコンは必要なものだけあり扱いやすい。しかも表示するアイコンをカスタムできる -
VS Code
はプルをどこで実施するか一見わかりにくい -
VS Code
はGit Graph
によってブランチ切り替えからリベース処理がスムーズに可能
Push - ブランチのアップロード
ブランチをアップロードします。
状況のわかりやすさのため履歴を表示した状態で操作しています。
🟪 Visual Studio
Pick up
プッシュ
🟦 VS Code
Pick up
プッシュ
所感
- 共にどちらもワンボタンでプッシュ可能
-
VS Code
はコミットとプッシュのボタンが一体化している。必要なときに必要な操作が自動で選択される
Sync - 変更の同期/競合解決
追加の更新を同期します。競合がある場合には解決のための操作に自動で移行します。
操作としては以下のステップを実施します。競合の解決も同時に実施します。
- 追加のコミットがあるブランチをリモートと同期する。しかし競合により未解決
- 競合を解決する
- 再度同期する
🟪 Visual Studio
Pick up
同期
競合解決
🟦 VS Code
Pick up
同期
競合解決
所感
- 共にどちらもワンボタンで同期可能
-
VS Code
は追加のコミットがないとSyncできない。変更を取り込むにはPullで行う - 競合解決画面の構成はほぼ同じ
- 変更の取り込まれ方が
Visual Studio
とVS Code
で異なるので、Result
を確認してからマージを確定する
Reset mix - コミットを変更状態に戻す
コミットを変更状態に戻します。コミットした内容に変更を加えたい場合に利用します。
🟪 Visual Studio
Pick up
Reset mix
🟦 VS Code
Pick up
Reset mix
所感
-
Visual Studio
はReset mix
によって変更がある場合にその画面を開きっぱなしにしていると緑のバーのUIが表示されない -
VS Code
はAmend
やSquash
をさくっとできないのでReset mix
で代用する
Fetch - 自分以外のリモートブランチの取得
自分以外の人がアップロードしたブランチを取得します。
🟪 Visual Studio
Pick up
フェッチ
チェックアウト
🟦 VS Code
Pick up
フェッチ
チェックアウト
所感
-
Visual Studio
はプル同様に操作アイコンで直感的に選択できる -
VS Code
はフェッチをどこで実施するか一見わかりにくい
まとめ
主要操作とその差異をまとめました。Visual Studio
、VS Code
どちらのUIも一長一短あって、多少の使い方に違いがありました。
双方、高度に抽象化されていて、直感的にGit
が利用できるようデザインされていました。どちらか好みのエディタで一通り操作すれば何日もかからず違和感のない操作できるようになると感じました。
デザインで目を惹いたのはVS Code
の状況に応じて変化するUIです。Visual Studio
の操作中に迷わないような工夫もよくできていると感じました。逆に改善の余地もありました。リリースノートをみると、GitのUIの改善は続けられています。Visual Studio
、VS Code
双方の良いところを組み合わせたり、さらなるアイデアの創造によって、今後もっと便利な体験ができると思うと楽しみです。
Discussion