Git
在 git 儲存庫中跟踪 /etc/ 並以 root 身份送出時更正使用者名
我們使用 git 來跟踪
/etc/
我們伺服器上的更改。管理員在更改 /etc/ 中的文件時以 root 身份工作,因此他們的送出具有作者
root <root@machinename>
這不是很令人滿意,因為您看不到實際上是哪個管理員進行了更改。
我們可以做些什麼來獲取 git 日誌中的真實管理員名稱?我認為保留儲存庫的本地複製是不可行的,因為我們經常互動更改直到某些東西起作用,而 change-commit-push-seeError-repeat 循環在這裡無濟於事。
git author和committer 名稱可能會受到環境變數
GIT_COMMITTER_NAME
、GIT_COMMITTER_EMAIL
和.GIT_AUTHOR_NAME``GIT_AUTHOR_EMAIL
現在的訣竅是在通過 SSH 連接時將這些變數送出到遠端伺服器:
- 定義並導出文件中的變數
~/.bashrc
:export GIT_AUTHOR_NAME="Christian Weiske"
- 通過調整自動使用 SSH 連接發送它們
~/.ssh/config
:SendEnv LANG LC_* GIT_*
LANG
並且LC_*
不是必需的,但是 Debian 已經在他們的預設 ssh_config 中,所以我想我也應該送出它們 3. 在遠端伺服器上,調整sshd配置/etc/ssh/sshd_config
以接受GIT_*
環境變數:AcceptEnv LANG LC_* GIT_*
瞧 - 一個
git commit
作為根/etc/
導致:commit 8a4654f13241f05361283a88ce041a0fc24b8ac6 Author: Christian Weiske <christian.weiske@netresearch.de>
以防將來某個時間出現伺服器故障:http: //cweiske.de/tagebuch/carry-git-settings.htm