---
# System prepended metadata

title: git-crypt の使い方（Windows）
tags: [git-crypt, git, GitHub]

---

---
lang: ja-jp
breaks: true
---
# git-crypt の使い方（Windows） 2025-12-06

:::danger
リポジトリ内に日本語（非ASCII）ファイル名があると、復号が正常に動作しませんでした。
:::

## git-crypt のインストール

* https://github.com/oholovko/git-crypt-windows/releases
* 上記より、`git-crypt.exe` をダウンロード
* `C:\Program Files\Git\cmd` に 上記実行ファイルをコピーする。
* ![image](https://hackmd.io/_uploads/H1LGTX-fZg.png)

### 確認

```cmd=
git-crypt --version
git-crypt 0.6.0
```

## リポジトリの初期化

```cmd=
git-crypt init
Generating key...
```

## 暗号化対象のディレクトリを指定 (.gitattributes)

```.gitattributes=
# "secret-data" ディレクトリ配下のすべてのファイルを暗号化
secret-data/** filter=git-crypt diff=git-crypt

# .gitattributes 自体は暗号化しないように設定（推奨）
.gitattributes !filter !diff
```

## ステータスの確認

```cmd=
git-crypt status
```

:::info
* 日本語のファイル名は文字化けする
![image](https://hackmd.io/_uploads/ByEJeVWz-l.png)
:::

## 鍵の共有と復号（他のメンバー・環境での手順）

### 鍵のエクスポート（元のPCで実行）

該当リポジトリで以下を実行
```
git-crypt export-key git-crypt_crypt.key
```

### 鍵のインポートと復号（別のPCで実行）

```
git-crypt unlock git-crypt_crypt.key
```

:::warning
* リポジトリに日本語のファイル名のファイルが存在するとエラーとなる。
![image](https://hackmd.io/_uploads/SJYIw4-MWg.png)
* `git config --global core.quotepath false` を試してみたがうまくいかない。
:::

###### tags: `git-crypt` `git` `github`
