在一个本地用户的远程登录ssh之后设置git用户名和电子邮件

时间:2016-11-29 15:42:49

标签: git bash ssh

我想执行以下操作,它使用--global标志,但我需要在会话的基础上执行此操作,因为一次可能有多个人在远程计算机上工作,因此,使用正确的名称注释提交非常重要。

ssh root@host -t "git config --ONLY_FOR_CURRENT_SESSION user.name 'Max Payne'; git config --ONLY_FOR_CURRENT_SESSION user.email 'max@payne.com'; bash"

基本上我想:

  1. 使用ssh登录远程计算机
  2. 传递一个命令,该命令将为当前会话设置我的git user.name和user.email

1 个答案:

答案 0 :(得分:2)

如果您可以访问该计算机,您还可以克隆存储库并只在本地工作,这通常是可行的方法。

也就是说,如果你坚持这样工作,你可以,而不是设置配置文件(必须在不同的会话之间共享,因为文件系统本身也在不同的会话之间共享),如the top-level git documentation中所述设置大量环境变量。其中包括GIT_AUTHOR_NAMEGIT_AUTHOR_EMAILGIT_COMMITTER_NAMEGIT_COMMITTER_EMAILthe git commit-tree documentation进一步说明了这些内容。

环境变量从父进程继承到子进程。它们不会在另一个方向上越过边界,即,没有子进程可以影响其父进程的环境数据。因此,所有环境设置命令都必须(必须)内置到shell中。