• 其為 git 內建的功能,專門用於管理和保存用於 Git 操作的憑證(如 GitHub、GitLab 等平台的帳號和密碼或個人訪問令牌)
  • 有了這個東西,就不需要每次在 linux 上操作相關權限指令時都得再輸入帳密 token 了,體感有點像是 Chome 的密碼管理工具
  • credential.helper 包含三種模式,分別如下:
    • cache:

      • git-credential-cache 是 Git 內建的一部分,用於將憑證暫時保存到內存中。
      • 憑證會被保存在內存中一段時間(默認為 15 分鐘),可以通過設置 timeout 參數來更改這段時間。
      # 保存 1 小時
      git config --global credential.helper 'cache --timeout=3600'
      
      #想要清除暫存,可使用以下指令
      git config --global credential.helper exit
      
    • store:

      • git-credential-store 也是 Git 的內建功能,憑證會被永久保存在本地磁碟上的文件中(例如 ~/.git-credentials),而且是以明文的方式存儲。
      • 這是一種最簡單的方式來管理憑證,但因為存儲為明文,所以在公共或共享設備上存在一定的安全風險
      • 留意 store 本身不能變更名字,這是屬於設定的意思,而非自訂檔名
      • 對於 store,可以手動刪除 ~/.git-credentials 文件以刪除 store 功能
      git config --global credential.helper store
      
    • manager-core【推薦!!】:

      • manager-core(Git Credential Manager Core)最初是由 Microsoft 開發的,旨在提供一個更安全且跨平台的憑證管理方式。後來,GCM Core 逐漸成為 Git 的標準憑證助手之一。
      • manager-core 利用操作系統自帶的密碼管理功能來保護憑證,例如:
        • Windows 的「憑證管理器」。
        • macOS 的「鑰匙串」(Keychain)。
        • Linux 的 libsecret。
      • 這個憑證管理器對於 Windows 和 macOS 的 Git 是內建的,但在 Linux 系統中可能需要手動安裝和配置 libsecret
      git config --global credential.helper manager-core