git - 如何在 TRAMP 环境中为 Git 设置不同的作者/提交者?

标签 git emacs tramp

我使用 Emacs 23.3.1/TRAMP/VC 在 Git 控制下编辑文件 sudoed 通过 ssh 连接(/sudo:sudouser@host:filetramp-default-proxies-alist 进行相应设置)。 sudouser 是一个共享帐户,所以我不想全局设置 user.email/user.name,而是使用 GIT_AUTHOR_NAME/GIT_AUTHOR_EMAIL/GIT_COMMITTER_NAME/GIT_COMMITTER_EMAIL 将其设置为仅用于我的连接。

我没有找到在 vc-git 本身中设置环境/更改命令的方法。将环境变量添加到 tramp-remote-process-environment:

(add-to-list 'tramp-remote-process-environment "GIT_AUTHOR_EMAIL=tim@tim-landscheidt.de")
(add-to-list 'tramp-remote-process-environment "GIT_AUTHOR_NAME='Tim Landscheidt'")
(add-to-list 'tramp-remote-process-environment "GIT_COMMITTER_EMAIL=tim@tim-landscheidt.de")
(add-to-list 'tramp-remote-process-environment "GIT_COMMITTER_EMAIL='Tim Landscheidt'")

有效,但我担心将来当我想在需要另一个身份的主机上工作时,它可能会影响我。

有没有办法将不同的作者/提交者设置为仅限于一个 TRAMP 连接?

最佳答案

我对 TRAMP 一无所知,但我可以指出,您可以通过在 中为特定存储库单独设置 user.emailuser.name >.git/config 或通过执行命令:

git config --local user.name "Tim Landscheidt"
git config --local user.email "tim@tim-landscheidt.de"

这样您就可以为每个存储库的作者/提交者设置不同的设置。

关于git - 如何在 TRAMP 环境中为 Git 设置不同的作者/提交者?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16905499/

相关文章:

android - 将 Emacs TRAMP 与不提供/bin/sh 的 ssh 服务器一起使用?

emacs - 在 ESS/Emacs 中,如何在 C-c C-j 或 C-c C-r 之后让 R 进程缓冲区滚动到底部

emacs - 从 elisp 正确调用交互式脚本

emacs - Emacs,Windows,流浪汉,Plink仍然不起作用

emacs - 通过tramp : Save password在Emacs中编译c++

emacs - 删除 Emacs 中的内置包

git - git 的 Xcode 错误?

git - 如何将dev分支中的文件 merge 到master分支

git循环(使用git pull,请将更改提交到本地文件)

git - 将现有的 Git 存储库与 Perforce (P4) 集成