gitfs - Arch Linux 中文维基

跳至內容

# gitfs

出自 Arch Linux 中文维基

翻譯狀態：

- 本文（或部分內容）譯自 Gitfs，最近一次同步於 2024-6-24，若英文版本有所更改，則您可以幫助同步與翻譯更改的內容。
- 您可以在 ArchWiki 的對應頁面找到本文翻譯的原始修訂歷史。
- 本文可能與英文原文存在出入。

摘自 gitfs:

  gitfs 是一個與 git 完全集成的 FUSE 文件系統。你可以在本地掛載遠程倉庫的分支，隨後對文件所做的任何修改都會自動提交到遠程倉庫。
  您可以掛載任何版本庫，您所做的所有改動都會自動轉化為提交。gitfs 還會通過模擬每次提交的快照，顯示您當前工作分支的歷史。
  gitfs 對於那些需要跟蹤所有文件，但又無法將所有文件整理成文件提交的地方非常有用。一個用於 git 倉庫的 FUSE 文件系統，帶有本地緩存。

## 安裝

安裝 gitfsAUR。

## 用法

例如，通過 gitfs，用戶可以將遠程 git 倉庫掛載為FUSE文件系統：

    $ gitfs https://example.com/repository.git /mount/directory

請參閱 options 文檔。

## 問題解決

### 對 /var/lib/gitfs 的寫訪問權限

`/var/lib/gitfs` 需要存在，但不是自動創建。此外，如果想以普通用戶身份掛載 gitfs，請確保該用戶可寫：

    # mkdir /var/lib/gitfs
    # chown username:users /var/lib/gitfs

### 對 pygit2 的寫訪問權限

如果以普通用戶身份運行，首次運行時 gitfs 會嘗試進行自我檢查，但會失敗。要解決這個問題，請以根用戶身份運行一次。您不需要實際掛載任何東西。以 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>

## 參見

- git worktree

分類：​

- FUSE
- 版本控制系統

gitfs
新增話題