Git | VS Codeにおける”source control”の説明

Gitとは,プログラムのソースコードなどの変更履歴を記録・追跡するための分散型バージョン管理システムである.ソースコードの変更履歴を順々に記録し,いつ,だれが,どのファイルのどの箇所を変更したかが分かり,記録の際に変更箇所についてのメッセージを付与することもできる.必要であれば,変更履歴に基づき,ソースコードを戻すこともできる.

VS Codeとは,Visual Studio Codeを正式名称とするMicroSoftが提供している人気のある無料のテキストエディタである.

VS Codeでは,Gitと同じような機能である"source control"が付属しているので,この詳細を以下に記す.

実施環境

Windows 11
Visual Studio Code (VS Code) 1.103.2

shelokuma tech blog | バージョン確認方法

VS Codeにおける"source control"のありか

Gitは以下URLを参照しインストールした.

shelokuma tech blog | Git | Windows向けGitのインストール方法

また,GitHubは以下URLを参照し登録した.

shelokuma tech blog | GitHubの登録方法

VS Codeを開く.

以下画面がVS Codeの内容になる.画面の左端の赤枠が"source control"となる.

“source control"をクリックし,下矢印をクリックすると,Gitと同じ機能である以下操作を選択することができる.これらの操作について,以下にて説明する.

  • Commit
  • Commit (Amend)
  • Commit & Push
  • Commit & Sync

“source control"の詳細

VS Codeの"source control"をクリック後,Gitと同じ機能である以下操作について説明する.

  • Commit
  • Commit (Amend)
  • Commit & Push
  • Commit & Sync

Commit

通常 “git add <ファイル名>",もしくは"git add <ディレクトリ名>"によって,ワークツリーの変更をステージに追加する.VS Codeではこの処理が自動的に実行されている.

そのため,"Commit"は,現在ステージングされている変更 (“git add"されたファイル) をローカルリポジトリに保存する機能となり,以下コマンドと同等の動作となる.

git commit -m "message"

この変更はローカルのGit履歴に記録されるだけで,GitHubにはまだ送られない.まずローカルに変更を記録したいときに使われる.

Commit (Amend)

“Commit (Amend)"は,直前のコミットを修正する機能となり,以下コマンドと同等の動作となる.

git commit --amend

直前のコミットのメッセージの修正するときなどに使われる.なお,すでにリモートにPush済みのcommitをamendすると履歴が食い違うため,基本はローカルのみで使われる.

Commit & Push

“Commit & Push"は,ローカルでcommitした後,すぐにGitHubなどにPushする機能となる,以下2つの連続したコマンドと同等の動作となる.

git commit -m "message"

git push

作業が完了したので,ローカルの変更をするにGitHubに反映したいときやチーム開発で他のメンバーにすぐに共有したいときに使われる.

Commit & Sync

“Commit & Sync"は,PushとPullを同時に行う機能となる.以下3つの連続したコマンドと同等の動作となる.

git commit -m "message"

git pull

git push

自分の変更を反映すると同時に,ほかの人の変更も取り込みたいときに使われる.チームで同じブランチに作業している場合,リモートとの差分があっても自動で動機してくれる.

なお,他の人との変更とコンフリクトをすると,その場で対処する必要が出てくる.そのため,"Commit & Push"をしてから,別途Pullを実行するほうが安全かもしれない.

“source control"のまとめ

上記で説明した"source control"をまとめた表が以下になる.

以上