DeepSHPlugins
dsh-git-identity 專案預覽
GITHUB / COMMUNITY PROJECT

dsh-git-identity

工具與整合JavaScript

git 提交固定使用環境自身作者身份,環境變數注入壓過一切 git config 設定。

7 StarsLoserFox 更新時間 2026-08-13
訪問 GitHub 倉庫
dsh-git-identity 專案預覽

專案介紹

中文

git 提交固定使用環境自身作者身份,環境變數注入壓過一切 git config 設定。

English

Pin Git commits to the environment's own author identity; env-var injection overrides all git config settings.

專案資訊與收錄訊號

快照 2026-09-11
作者 / 組織
LoserFox
倉庫
LoserFox/dsh-git-identity
GitHub Stars
7
Forks
0
開發語言
JavaScript
許可證
未記錄
最近推送
2026-08-13
Manifest
資料中檢測到宣告

公開倉庫不自動等於可商用;許可證與當前相容性以原專案文件為準。Manifest 和資料評分不構成安裝安全認證。

資料評分

61/ 100
維護活躍
80
文件與實用資訊
67
生態關注度
26
安裝便捷訊號
75
專案宣告訊號
80

關注度尚低(7)。

評分來自已有資料快照的五維模型,僅作瀏覽參考,不是實際使用評測或安全檢測結論。

安裝與使用

所有專案資料與許可均以對應 GitHub 倉庫為準。

dsh plugin add github:LoserFox/dsh-git-identity

複製命令不會自動執行。請先閱讀倉庫文件,確認環境要求與許可證。

專案截圖

倉庫 README

GitHub 原文

已儲存的倉庫文件快照;文件抓取時間未記錄,可能與上方目錄介紹處於不同版本。安裝前請核對當前倉庫說明。

儲存庫檔案保留原文,指令與授權文字不作自動改寫。

git-identity

DSH profile bundle(0812+ 的官方插件系统):让 DSH 内产生的所有 git 提交使用 环境自身的作者身份。优先读取 gh CLI 的登录账号(name 取 login,email 取 GitHub noreply 地址 <id>+<login>@users.noreply.github.com),其次启动环境的 GIT_AUTHOR_*、git config --global 兜底。

为什么需要它

DSH 的 agent 会话通过 bash 工具执行 git commit。历史上一旦某个会话显式 -c user.name="DSH Agent" 或改掉了 git 配置,后续提交就会带着错误的作者。 本插件在加载时把解析到的身份写入 GIT_AUTHOR_* / GIT_COMMITTER_* 四个环境变量, DSH 的 subprocess 层会把 process.env(剔除凭据)传给每个 bash 子进程,而 git 的 环境变量优先级高于一切 git config——所以 DSH 内任何路径发起的提交都必然使用该身份。

同时幂等同步回 git config --global,让插件进程外的普通终端提交也保持一致 (仅当 global 配置缺失或被改错时写回)。

安装(0812 profile bundle 系统)

# 从本仓库 checkout 安装到 profile(web / headless 等),bundle 声明自动加入组合层
dsh plugin --profile web add /path/to/dsh-git-identity
dsh plugin --profile headless add /path/to/dsh-git-identity
# 验证
dsh --profile web --dump-config | grep git-identity

安装后需重启目标 profile 的 DSH 进程(组合层变更不参与 HMR 热更新)。

身份解析优先级

  1. 插件配置 { name, email }(显式钉死,最稳;未登录 gh 时可在此配置)
  2. gh CLI 登录账号(gh api user)
  3. 启动环境的 GIT_AUTHOR_NAME / GIT_AUTHOR_EMAIL
  4. git config --global user.name / user.email 兜底

全部解析不到时只告警、不注入,绝不凭空编造身份。

配置

# 在 bundle 的 patch 里给行加 config(可选;不配置则按上述优先级自动解析)
- insert:
    - id: git-identity
      name: '@loserfox/git-identity'
      config:
        name: LoserFox
        email: [email protected]

开发

编辑 index.mjs 后无需构建(纯 ESM,零依赖)。package.json 的 dsh.bundle.patch 声明本包是一个 profile bundle;cordis.patch.yml 是它贡献的 组合层。

使用前核對

安裝步驟、相容版本與授權範圍以原專案當前文件為準。Stars 和評分是快照中的導航訊號。

安裝與排錯 · 專案問題反饋

同類專案