我的问题正是标题。
每当我在命令提示符下运行命令git-tf checkin
时,它连接到TFS就会询问我的用户名和密码。我怎么能避免这个?
要么让它与当前用户一起登录,要么将凭据存储在配置文件中。
答案 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),但至少它不会保存在项目中的文件中。