我的问题正是标题。
每次我git-tf checkin
在连接到 TFS 时在命令提示符中运行该命令时,它都会询问我的用户名和密码。我怎样才能避免这种情况?要么让它以当前用户身份登录,要么将凭据存储在配置文件中的某处。
到目前为止,最安全的方法是不存储密码,而是通过 Kerberos 或 NTLM 使用单点登录:
如果您在 Windows 上并登录到与您的 TFS 服务器具有信任关系的域,那么您不需要指定用户名和密码。
如果您在 Windows 上并设置了“影子帐户”,则无需指定用户名和密码。当您与 TFS 服务器没有域信任关系但您使用与 TFS 服务器上的帐户相同的用户名和密码登录到本地计算机时,会发生这种情况。
如果您使用的是 Unix 平台,则可以使用 Kerberos 进行单点登录。当您从 Active Directory 服务器本身获得票证时,这很可能是这种情况,例如kinit activedirectory.domain.name
.
类似地,如果您在 Unix 上并且有一个 Kerberos 票证到与 TFS 服务器(几乎可以肯定是 Active Directory 服务器本身)有信任关系的 KDC,那么您不需要指定用户名和密码。 git-tf
将使用您的登录凭据进行身份验证。
如果这些都不适用,那么您可以将用户名和密码存储在存储库的 git 配置中:
git config git-tf.server.username your-username
git config git-tf.server.password your-password
请注意,您的密码将以纯文本形式存储在 git 配置文件中。请务必根据需要设置 ACL 或文件权限,以阻止人们从配置文件中读取您的密码。或者您可以只存储用户名,并且每次只需要输入您的密码。
您可以使用 --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),但至少不会保存在项目中的文件中。