快轉到主要內容

在 Fedora 用 git-credential-manager

·435 字·1 分鐘·
Linux Fedora Git Terra-Repo
Shihfu Juan
作者
Shihfu Juan

Why
#

我很喜歡那種短期 Token 的想法,而不是每個要連線的設備都要去單獨創 Token,這東西在 Windows 是內建的,估計是因為是微軟維護的緣故,但 Linux 沒有內建,都得自己設定。

其實 GitHub, GitLab 我是一直都用 ghglab 當憑證提供者,但我在 Windows 上與我的 Forgejo 互動時,跳出了瀏覽器請求授權

所以我也要在 Linux 設定一下

啟用 Terra repo
#

Terra repo 是專為 Fedora 使用者提供官方 repo 不提供的 packages

sudo dnf install --nogpgcheck --repofrompath 'terra,https://repos.fyralabs.com/terra$releasever' terra-release

安裝
#

sudo dnf install gcm-core

設定
#

git credential-manager configure
git config --global credential.credentialStore secretservice

secretservice 很多時候意味著 GNOME Keyring,就算在用 KDE 也一樣

驗證設定,去隨便一個 git repo 目錄執行

git-credential-manager diagnose    
Running diagnostics...

 [ OK ] Environment
 [ OK ] File system
 [ OK ] Networking
 [ OK ] Git
 [ OK ] Credential storage
 [ OK ] Microsoft authentication (AAD/MSA)
 [ OK ] GitHub API

Diagnostic summary: 7 passed, 0 skipped, 0 failed.
Log files:
  你現在的目錄/gcm-diagnose.log

Caution: Log files may include sensitive information - redact before sharing.

確認沒問題後把 gcm-diagnose.log 刪掉

使用
#

我是用 KDE,所以先確保之前存在 KWallet 的登入憑證先清掉,然後再嘗試 Push,應該要跳出瀏覽器登入,授權之後能成功 Push 就是成功了。

然後…
#

我的 blog 推送到 GitHub 出問題了,它不去用 gh 了,解法是先去 ~/.gitconfig 把 GitHub 有關的東西通通清光,然後再執行 gh auth setup-git 解決。

https://github.com/cli/cli/issues/3796#issuecomment-908241663