git-tf如何避免每次签入都指定我的凭据

时间:2013-02-13 17:25:25

标签: tfs git-tf

我的问题正是标题。

每当我在命令提示符下运行命令git-tf checkin时,它连接到TFS就会询问我的用户名和密码。我怎么能避免这个? 要么让它与当前用户一起登录,要么将凭据存储在配置文件中。

2 个答案:

答案 0 :(得分:21)

到目前为止,最安全的方法是不存储密码,而是通过Kerberos或NTLM使用单点登录:

如果您使用的是Windows并登录到与TFS服务器具有信任关系的域,则无需指定用户名和密码。

如果您使用的是Windows并且设置了“影子帐户”,那么您不需要指定用户名和密码。如果您与TFS服务器没有域信任关系,但您使用与TFS服务器上的帐户相同的用户名和密码登录到本地计算机,则会发生这种情况。

如果您使用的是Unix平台,则可以使用Kerberos进行单点登录。这很可能是您从Active Directory服务器本身获得票证的情况,例如kinit activedirectory.domain.name

同样,如果您使用的是Unix并且拥有与TFS服务器(几乎可以肯定是Active Directory服务器本身)具有信任关系的KDC的Kerberos票证,那么您不需要指定用户名和密码。 git-tf将使用您登录的凭据进行身份验证。

如果这些都不适用,那么您可以将用户名和密码存储在存储库的git配置中:

git config git-tf.server.username your-username
git config git-tf.server.password your-password

请注意,您的密码将以纯文本格式存储在git配置文件中。请务必根据需要设置ACL或文件权限,以阻止人们从配置文件中读取密码。或者您只能存储用户名,每次只需键入密码。

答案 1 :(得分:1)

您可以使用--global开关阻止git将其保存到 项目 的.gitconfig:

git config --global git-tf.server.username your-username  
git config --global git-tf.server.password your-password 

它仍将以纯文本格式保存在您的系统上(C:/Users/your-login/.gitconfig),但至少它不会保存在项目中的文件中。