TortoiseGit シンボリックリンクの追加・コミット

ファイルやディレクトリへの参照を持つシンボリックリンクを、シェル拡張の Git クライアントソフト TortoiseGit を用いて、リポジトリへ追加・コミットする手順を紹介します。
追加されたリポジトリ内で、その項目がシンボリックリンクとして扱われていることを create mode から確認します。

TortoiseGit ダウンロードとインストール1

※ TortoiseGit-2.17.0.2-64bit を使用します。

シンボリックリンクをステージングエリアに追加

例として、addons\gut シンボリックリンクGit リポジトリに追加・コミットして、 Git リポジトリでシンボリックリンクとして扱われていること確認します。
※ addons\gut シンボリックリンクは、サブモジュール third_party\Gut\ のアドオン部分 third_party\Gut\addons\gut\ にリンクしています。

シンボリックリンク(シンボリック・リンク、symbolic link、またはsymlink)は、ファイルやディレクトリへの参照を作成する特殊なファイルです。

Linux入門:シンボリックリンクの基本と活用術をわかりやすく解説してみた #Linuxコマンド – Qiita

Windows でシンボリックリンクを作成する手順については以下の記事を参照してください。

Git の作業ディレクトリ内に作成済みのシンボリックリンクを右クリックして表示されるメニュー「TortoiseGit」→「追加」を選択します。

TortoiseGit シンボリックリンクの追加・コミット1

TortoiseGit の追加のダイアログで、シンボリックリンクだけが表示されていることを確認して OK ボタンを押します。

TortoiseGit シンボリックリンクの追加・コミット2

以上で、 addons\gut シンボリックリンクがコミット対象を置くステージングエリアに追加されました。
※コミットするまでは、リポジトリには反映されません。

ステージングエリアの状態は、コマンドプロンプトで作業ディレクトリに移動してから git status コマンドを実行することで Changes to be commited: のリストで確認できます。
※ Windows 10 の場合、作業ディレクトリを開いたエクスプローラのアドレスバーに cmd⏎ で、そのフォルダを作業ディレクトリにしてコマンドプロンプトを起動できます。

TortoiseGit シンボリックリンクの追加・コミット4
G:\Dev\Godot4GD\SakuraCrowd\SakuraCrowdGodotLib>git status
On branch develop
Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        new file:   addons/gut

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
  (commit or discard the untracked or modified content in submodules)
        modified:   third_party/Gut (modified content)

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        addons/godot-git-plugin/
        addons/my/
        export_presets.cfg
        icon.svg
        icon.svg.import
        project.godot
        resource/
        scene/
        third_party/.gdignore

Displays paths that have differences between the index file and the current HEAD commit, paths that have differences between the working tree and the index file, and paths in the working tree that are not tracked by Git (and are not ignored by gitignore[5]).

インデックス ファイルと現在の HEAD コミットの間に差異があるパス、作業ツリーとインデックス ファイルの間に差異があるパス、Git によって追跡されない (そして gitignore[5] によって無視されない) 作業ツリー内のパスを表示します。

Git – git-status Documentation と Google 翻訳

シンボリックリンクの追加のコミット

引き続き、「コミット」ボタンを押して、シンボリックリンクの追加のコミットを行います。
※ OK で閉じた場合は、エクスプローラの右クリックで表示されるメニュー「Git コミット -> “ブランチ名”」を選択してください。

TortoiseGit シンボリックリンクの追加・コミット3

コミットのダイアログで下側の Changes made のリストシンボリックリンク(例では1行目の addons/gut)にチェックをいれて、コミットのメッセージを入力してから「コミット」ボタンを押します。
※シンボリックリンク以外のコミットは行わないのでチェックを外しています。

TortoiseGit シンボリックリンクの追加・コミット5

シンボリックリンクの追加がリポジトリにコミットされました。

シンボリックリンクの確認

コミットのログには「create mode 120000 addons/gut」と表示されています。

TortoiseGit シンボリックリンクの追加・コミット6
[develop 5cecb7e] third_party/Gut/addons/gut フォルダにリンクした addons/gut シンボリックリンクを追加します。
 1 file changed, 1 insertion(+)
 create mode 120000 addons/gut

成功 (906 ms @ 2025/07/29 19:25:28)

120000 は、追加された項目がシンボリックリンクであることを示しています。

この例では、100644 のモードを指定しています。これは、それが通常のファイルであることを意味します。 他に指定できるモードとしては、実行可能ファイルであることを意味する 100755 や、シンボリックリンクであることを示す 120000 があります。 このモードは通常の UNIX モードから取り入れた概念ですが、それほどの柔軟性はありません。Git中のファイル(ブロブ)に対しては、上記3つのモードのみが有効です(ディレクトリとサブモジュールに対しては他のモードも使用できます)。

Git – Gitオブジェクト

エクスプローラでシンボリックリンクダブルクリックすると、アドレスとしては、シンボリックリンクのある addons\gut\ フォルダに入りますが、実体はリンク先にあります。
ファイル・フォルダ構成をみると、そのリンク先である third_party\Gut\addons\gut と内容が一致しています。

Godot4 Gut アドオンをGit Submoduleとして追加する手順9

Git リポジトリに追加・コミット後も dir コマンドの結果には symlink(シンボリックリンク)表示されています。

G:\Dev\Godot4GD\SakuraCrowd\SakuraCrowdGodotLib\addons>dir
 ドライブ G のボリューム ラベルは ボリューム です
 ボリューム シリアル番号は 9691-AE5E です

 G:\Dev\Godot4GD\SakuraCrowd\SakuraCrowdGodotLib\addons のディレクトリ

2025/07/27  13:48    <DIR>          .
2025/07/27  13:48    <DIR>          ..
2025/07/27  12:19    <DIR>          godot-git-plugin
2025/07/27  13:48    <SYMLINKD>     gut [..\third_party\Gut\addons\gut]
2025/04/15  19:22    <DIR>          my
               0 個のファイル                   0 バイト
               5 個のディレクトリ  2,427,887,140,864 バイトの空き領域

まとめ

ファイルやディレクトリへの参照を持つシンボリックリンクを、シェル拡張の Git クライアントソフト TortoiseGit を用いて、リポジトリへ追加・コミットする手順を紹介します。
追加されたリポジトリ内で、その項目がシンボリックリンクとして扱われていることを create mode から確認します。

参照サイト Thank You!

記事一覧 → Compota-Soft-Press

コメント

Ads Blocker Image Powered by Code Help Pro

お願い - Ads Blocker Detected

このサイトは広告を掲載して運営しています。

ポップアップを閉じて閲覧できますが、よろしければ

このサイト内の広告を非表示にする拡張機能をオフにしていただけませんか?

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

タイトルとURLをコピーしました