「Gitfs」の版間の差分
ナビゲーションに移動
検索に移動
(ページの作成:「{{Lowercase title}} Category:バージョン管理システム en:Gitfs [https://www.presslabs.com/gitfs/docs/ gitfs] より: :gitfs は git と完全に統合さ...」) |
Kusanaginoturugi (トーク | 投稿記録) (Kusanaginoturugi (トーク) による版 16631 を取り消し) タグ: 取り消し |
||
(2人の利用者による、間の5版が非表示) | |||
1行目: | 1行目: | ||
{{Lowercase title}} |
{{Lowercase title}} |
||
+ | [[Category:FUSE]] |
||
[[Category:バージョン管理システム]] |
[[Category:バージョン管理システム]] |
||
[[en:Gitfs]] |
[[en:Gitfs]] |
||
− | [https://www.presslabs. |
+ | [https://www.presslabs.org/gitfs/docs/ gitfs] より: |
:gitfs は git と完全に統合された FUSE ファイルシステムです。リモートリポジトリのブランチをローカルでマウントすることができ、ファイルに変更を加えると自動的にリモートにコミットされます。 |
:gitfs は git と完全に統合された FUSE ファイルシステムです。リモートリポジトリのブランチをローカルでマウントすることができ、ファイルに変更を加えると自動的にリモートにコミットされます。 |
||
:あらゆるリポジトリをマウントすることができ、変更は全て自動的にコミットに変換されます。また、gitfs は全てのコミットのスナップショットをシミュレートすることで現在使用しているブランチの履歴を陳列します。 |
:あらゆるリポジトリをマウントすることができ、変更は全て自動的にコミットに変換されます。また、gitfs は全てのコミットのスナップショットをシミュレートすることで現在使用しているブランチの履歴を陳列します。 |
||
14行目: | 15行目: | ||
gitfs を使うことでリモートの git リポジトリを [[Fuse|FUSE]] ファイルシステムとしてマウントできます。例: |
gitfs を使うことでリモートの git リポジトリを [[Fuse|FUSE]] ファイルシステムとしてマウントできます。例: |
||
− | $ gitfs <nowiki>http:// |
+ | $ gitfs <nowiki>http://example.com/repository.git</nowiki> ''/mount/directory'' |
− | 詳しくは [https://www.presslabs. |
+ | 詳しくは [https://www.presslabs.org/gitfs/docs/arguments/ ドキュメント] を見てください。 |
== トラブルシューティング == |
== トラブルシューティング == |
||
34行目: | 35行目: | ||
=== ssh 鍵の使用 === |
=== ssh 鍵の使用 === |
||
− | Gitfs (と依存ライブラリの pygit2) は活発に開発されておりオプションも頻繁に変更されます。[https://www.presslabs. |
+ | Gitfs (と依存ライブラリの pygit2) は活発に開発されておりオプションも頻繁に変更されます。[https://www.presslabs.org/gitfs/docs/arguments/ 公式ドキュメント] では {{ic|1=-o key=}} オプションを使って鍵を変更できると書かれていますが、AUR のバージョン 0.4.1-1 では {{ic|1=-o ssh_key=}} を使う必要があります。鍵がパスフレーズによって保護されている場合、gitfs はパスフレーズを要求せず、ただエラーを返します: |
_pygit2.GitError: Failed to authenticate SSH session: Callback returned error |
_pygit2.GitError: Failed to authenticate SSH session: Callback returned error |
||
以下を実行して別の鍵を作成することを推奨します: |
以下を実行して別の鍵を作成することを推奨します: |
2020年7月7日 (火) 13:58時点における最新版
gitfs より:
- gitfs は git と完全に統合された FUSE ファイルシステムです。リモートリポジトリのブランチをローカルでマウントすることができ、ファイルに変更を加えると自動的にリモートにコミットされます。
- あらゆるリポジトリをマウントすることができ、変更は全て自動的にコミットに変換されます。また、gitfs は全てのコミットのスナップショットをシミュレートすることで現在使用しているブランチの履歴を陳列します。
- gitfs は全てのファイルを追跡したい場合に有益ですが、同時に、コミットに変換されるのを自分で管理することはできません。
インストール
使用方法
gitfs を使うことでリモートの git リポジトリを FUSE ファイルシステムとしてマウントできます。例:
$ gitfs http://example.com/repository.git /mount/directory
詳しくは ドキュメント を見てください。
トラブルシューティング
/var/lib/gitfs への書き込み権限
/var/lib/gitfs
ディレクトリが必要ですが自動では作成されません。通常ユーザーで gitfs をマウントしたい場合、そのユーザーに書き込み権限を与えてください:
# mkdir /var/lib/gitfs # chown username:users /var/lib/gitfs
pygit2 への書き込み権限
gitfs を最初に実行したとき、gitfs は自己解析を開始しますが、通常ユーザーで実行していると失敗します。一度 root で実行してください。何かマウントをする必要はありません。root でヘルプメッセージを表示するだけで十分です:
# gitfs -h
ssh 鍵の使用
Gitfs (と依存ライブラリの pygit2) は活発に開発されておりオプションも頻繁に変更されます。公式ドキュメント では -o key=
オプションを使って鍵を変更できると書かれていますが、AUR のバージョン 0.4.1-1 では -o ssh_key=
を使う必要があります。鍵がパスフレーズによって保護されている場合、gitfs はパスフレーズを要求せず、ただエラーを返します:
_pygit2.GitError: Failed to authenticate SSH session: Callback returned error
以下を実行して別の鍵を作成することを推奨します:
ssh-keygen /home/user/.ssh/gitfs_rsa <empty passphrase> <empty passphrase again>