【VS Code】gitでできること


目次

  1. VS Code標準のgit機能でできること
  2. 拡張機能GitLensでできること
    1. ファイルのhistory/diffの表示
    2. ブランチ周りの操作


1.VS Code標準のgit機能でできること

VS Code標準のgit機能のメニュー表示

VS Code標準のgitで、画面の操作でできるのは主に上で表示されている一覧の内容です。

以下に表でまとめます。

項目名
(カッコ内は日本語化してない場合)
できること
プッシュ
(Push)
現在設定されているremoteにpushする。
プッシュ先…
(Push to…)
プッシュ先を指定してpushする。
remoteが変わった場合とか、複数ある場合とか。
プル
(Pull)
今いるブランチに対して、現在設定されているremoteからpullする。
コンフリクトが起きない限りは何も表示せずにサクッと完了する。
プル(リベース)
(Pull (Rebase))
今いるブランチに対して、現在設定されているremoteからpullし、rebaseできる場合はrebaseする。
指定元からプル…
(Pull from…)
今いるブランチに対して、remote, branchを指定してpullする。
別remoteの同じブランチからpullしたり、同じremoteの別ブランチからpullしたり。
同期
(Sync)
設定されているremoteに対してpushとpullを実行し、ローカルのブランチと、remoteのブランチを同期。
チェックアウト先…
(Checkout to…)
指定したブランチに切り替える。
切り替え元のブランチに未コミットの変更等があった場合は、「チェックアウトの前に、リポジトリの作業ツリーを消去してください。」と警告が出るので安心。
ブランチを発行…
(Publish Branch…)
ブランチをremoteに公開する。
※普通にプッシュをクリックした場合でも「’hogehoge’ブランチに上流ブランチはありません。このブランチを公開しますか?」って出るのでこの項目の存在意義がわからない。
コミットしてステージング(サインオフ)
(Commit Staged (Signed Off))
ステージ済の変更をコミットする。
コミットコメントの末尾にサインオフをつける。

※この日本語の項目名はどこかおかしい気がする。
※サインオフは以下のような署名のこと。
Signed-off-by: user <email@example.com>
ステージング済をコミット
(Commit Staged)
ステージ済の変更を普通にコミットする。
ステージング済をコミット(修正)
Commit Staged (Amend)
ステージ済の変更を一つ前のコミットにまとめる。
コミットに1ファイル入れるの忘れてたわ、みたいな時に使えます。私はundo commit派なので使いませんが。
すべてコミット
(Commit All)
ステージングに関わらず全ての変更を丸っとコミットする。
「全てコミット」系は使う頻度かなり低いと思う。
すべてコミット(Signed Off)
(Commit All (Signed Off))
ステージングに関わらず全ての変更を丸っとコミットする。
コミットコメントの末尾にサインオフをつける。
すべてコミット(修正)
(Commit All (Amend))
ステージングに関わらず全ての変更を丸っとコミットする。
内容は一つ前のコミットにまとめられる。
前回のコミットを元に戻す
(Undo Last Commit)
一つ前のコミットを取り消す(ステージ上に戻す)。

※Amend使うよりも一旦ステージに戻してからの方が作業しやすいので個人的によく使用してます。
全ての変更のステージング解除
(Unstage All Changes)
ステージに置いた変更を全て作業ディレクトリに戻す。
全ての変更をステージ
(Stage All Changes)
作業ディレクトリ上の全ての変更をステージにおく。
全ての変更を破棄
(Discard All Changes)
作業ディレクトリ上でコミットもステージングもしていない全ての変更を破棄する。
※ガチで消えるので注意です。
Stash
(Stash)
トラッキングされているファイルの変更をスタッシュする。
(新規追加してまだgitに登録していないファイル等はスタッシュされない)
スタッシュ(未追跡ファイルを含む)
(Stash (Include Untracked))
トラッキングされていないファイルも併せて変更を全てスタッシュする。
スタッシュを適用…
(Apply Stash)
スタッシュした変更を作業ディレクトリに反映する。
※スタッシュ一覧が表示されるので反映したいスタッシュを選択する。
スタッシュを適用して削除…
(Pop Stash)
スタッシュした変更を作業ディレクトリに反映し、反映したスタッシュをスタッシュ一覧から削除する。
一時待避を削除する…
(Drop Stash…)
スタッシュ一覧からスタッシュを削除する。
※スタッシュ一覧が表示されるので削除したいスタッシュを選択する。
最新のスタッシュを適用
(Apply Latest Stash)
一番最近にスタッシュしたスタッシュを作業ディレクトリに反映する。
最新のスタッシュを適用して削除
(Pop Latest Stash)
一番最近にスタッシュしたスタッシュを作業ディレクトリに反映し、反映したスタッシュをスタッシュ一覧から削除する。
Git出力の表示
(Show Git Output)
VS Codeのパネルの出力のタブが表示され、Gitの出力を見ることができる。
画面でgitの操作した時に裏でどういうコマンドが実行されているのかを見ることができるのでgitの学習にちょうどいいかも。
一覧にしてみて思ったけど、日本語訳ちょっと雑。


とりあえず画面操作でできることをまとめました。

今回は説明を省略しますが、コマンドパレットにも更にいくつかコマンドが用意されています
※Ctrl+Shift+Pでコマンドパレットを開き、Git等で検索してみてください。

また、VS Codeのターミナルを開くと、gitコマンド直打ちも可能です。
画面操作で詰まったらコマンドに逃げれるのも手だと思います。


2.拡張機能GitLensでできること

GitLensを使用すると更に多くの機能が使えるようになります。

その中でも特に便利な2つの機能をピックアップして紹介したいと思います。


2-A ファイルのhistory/diffの表示

GitLensのメイン画面

GitLens導入して一番便利だと思った機能がこれです。

ソースを書く時間よりも読む時間が多い人は絶対試してみるべきです。
レビューや犯人探しにとても役立ちます。

GitLensでは以下のdiff/historyを見ることができます。
・コミット間、ブランチ間の差分
・リポジトリ全体のコミット履歴(いわゆるコミット履歴)
・ファイル単位のコミット履歴
・行単位のコミット履歴

個人的に、eclipseと比べて差分は見やすいが、履歴は分かりにくい、という印象です。


2-B ブランチ周りの操作

こちらも痒いところに手が届くとても便利な機能です。

VS Code標準のgitの機能だと、削除や名前変更などはCUI操作が必要でしたが、GitLensでは以下のブランチ操作を画面から行うことができます。
・ブランチ切り替え
・ブランチのマージ
・ブランチのリベース
・ブランチ削除
・ブランチの名前変更


Leave a Reply

Your email address will not be published. Required fields are marked *