スポンサーリンク

VSCodeにて同プロジェクト内で複数GitをGUIでする方法

昔だとプロジェクト本体と自作ライブラリは別フォルダにして管理してました。
理由は別プロジェクトからも利用し、常にプロジェクトからは最新ライブラリを利用したいからです。
VisualStudioやEclipseはその辺が強力なので苦労はしなかったのですが、XCodeやAndroidStudioだと強烈に不便だった記憶。

今はGitが強力なので共通自作ライブラリもプロジェクト外ではなく、プロジェクト内で管理できるので大抵のIDEでは苦労しなくなりました。
Git考えた人ほんと天才だと思います。

さて表題の件、そのままだと下位階層の自作ライブラリはVSCodeのSource ControlにでてくれないのでGitGraphが使えません。
しばらくコマンドラインでGitをしていましたが、間違えそうで怖くなり、この方法にしました。
Gitをコマンドで制御している方はすごいとおもいます。

2025-09-15 追記、まずGit Submoduleを理解しましょう

流石Gitです、下記のように私が悩んでいたことはすでに対処済だったことを知りました・・・。

# 自作ライブラリのリポジトリを当該プロジェクトに組み込むコマンド
git submodule add <repository-url> <path>

上記コマンドだけです。
あとはGitが自動的に分離をしてくれるので、ライブラリを.gitignoreに追加する必要もありませんし(追加済の場合は警告)、何より当該リポジトリとライブラリリポジトリがツリー形式で表示してくれるので可読性が一気に上がります。
下記に記すworkspace.jsへの追記も不要です。

もし、うまく表現されなければ下記の「Source Controlのサブモジュール設定」を確認してください。

ほんとお恥ずかしい・・・。

手順(私は英語版を使用しているので適宜置き換えてください)

  1. ワークスペースを作成
    現在のプロジェクトをワークスペースとして保存します。
    • VSCodeのメニューから「File」→「Add Folder to Workspace」を選択し、適当な名前で保存します。
  2. 自作ライブラリフォルダをワークスペースに追加
    次に、自作ライブラリフォルダをワークスペースに追加します。
    • メニューの「File」→「Add Folder to Workspace」を選択し、ライブラリフォルダを選びます。
  3. Git Graphでそれぞれのリポジトリを表示
    これで、Git Graph上でもプロジェクトルートとライブラリのリポジトリを個別に操作できるようになります。ワークスペースの各フォルダがそれぞれGitリポジトリとして認識され、Git GraphでGUI操作が可能になります。

それでも、Source Controllに表現されない場合

1. Source Controlがサブモジュールを認識しているか確認

通常、VSCodeのSource Controlはサブモジュールも表示するはずですが、表示されない場合は「設定」からサブモジュールの自動認識を有効にしてみてください。

  1. 設定を開く
    VSCodeのメニューから「Preferences」→「Settings」を選びます。
  2. Source Controlのサブモジュール設定
    検索バーで「submodule」と入力し、「Git: Support Submodules」のチェックが入っているか確認します。チェックが入っていない場合は有効にして、VSCodeを再起動してみてください。

2. git.enabled 設定の確認

git.enabled 設定が無効化されていると、GitリポジトリがVSCodeで表示されない場合があります。

  1. 設定を開く
    VSCodeの「Preferences」→「Settings」メニューから設定ウィンドウを開きます。
  2. git.enabledが有効か確認
    検索バーに「git.enabled」と入力し、この項目がオンになっていることを確認します。もしオフであれば、オンに切り替えてください。