【问题标题】:how to pass username and password while cloning TFS to git in window powershell如何在window powershell中将TFS克隆到git时传递用户名和密码
【发布时间】:2018-03-27 16:11:06
【问题描述】:

我想将 TFS 存储库导入到 git 并克隆到我的本地机器中,我正在使用 git-tf。在我的代码下面:- git-tf clone http://server:8080/tfs/DefaultCollection $/SampleProject D:\TFSRepoName 我想在 url 中传递用户名和密码,因此它会自动克隆 repo 而无需询问用户名和密码。

【问题讨论】:

    标签: tfs git-tf


    【解决方案1】:

    我必须使用默认的 windows 凭据管理器(windows 10 带有此功能)。

    • 控制面板\用户帐户\凭据管理器
    • 单击 Windows 凭据
    • 添加通用凭据
    • git:(tfs url, 没有斜杠) ... 示例:git:http://tfs
    • 用户名 .. 示例:域\用户名
    • 密码
    • 保存

    下次您使用 git 访问此网址时,您保存的凭据将被使用

    【讨论】:

      【解决方案2】:

      传递凭证的一种方法是 -

      git 拉http://username:password@url

      这里的“url”将是您用来克隆 tfs 上的存储库的 url。 但不推荐这种方式。相反,您应该选择凭证管理器。

      【讨论】:

        【解决方案3】:

        如果您不希望每次运行 git-tf 时都提示您输入凭据,您可以将您的凭据存储在您的存储库的 GIT 配置中:

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

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

        参考: Accessing TFS with git-tf


        你也可以尝试安装Use the Git Credential Manager

        当您从 Git 客户端连接到 Git 存储库时 第一次,凭证管理器会提示您输入凭证。 一旦通过身份验证,凭证管理器将创建并缓存一个 personal access token 用于将来与 repo 的连接。吉特 连接到此帐户的命令不会提示用户 凭证,直到令牌过期或通过 VSTS/TFS 撤销。

        【讨论】:

        • 嘿安迪,实际上我不想将我的凭据存储在 git config 中......我想在 git-tf 中传递用户名和密码,就像下面的 git 命令一样。我在传递用户名和密码时克隆 repo:- git clone --mirror https://${username}:${password}@github.com/${username}/$Projectname.git。您能否给我一些建议,如何使用 git-tf 在 TFS url 中传递带有服务器名称的 -username 和密码?
        • 是的,也让我知道在克隆 repo 时像这样在命令中传递用户名和密码这很好吗,因为我必须同时为 github 和 tfs 设置。 git clone --mirror https://${username}:${password}@github.com/${username}/$Proj‌​ectname.git 或者你有什么建议吗因为我正在编写用于将 repo 克隆到本地的自动化脚本
        • @PriyaRani 对于 egit-tf 没有办法在 URL 中传递凭据,您必须将用户名和密码恢复到 eCredential Managerer 或如上所述的 git 配置文件中.但是,如果启用 SSH,您可以尝试使用 git clone,在 URL 中键入凭据。否则,您必须先存储凭证。这意味着您需要公开凭证,这是有风险的。你可以参考这个帖子:stackoverflow.com/questions/10054318/…
        • -我的 TFS (on-premesies) 有我的服务器名称:8080,我可以将 repo 克隆到我的系统,但我正在尝试将 tfs repo 克隆到另一个系统。下面是我的代码:- git config --global git-tf.server:8080.username your_username git config --global git-tf.server:8080.password your_password git-tf clone server:8080/tfs/DefaultCollection $/SampleProject C :\GitTemp 但得到 "git-tf : git-tf: Unknown host server" 。你能告诉我如何将 tfs(on-premises) repo 克隆到另一个系统吗?
        • @PriyaRani 确保输入完整的服务器 url,并在另一个系统中安装了 Git-TF。顺便说一句,我注意到您发布了一个新线程来跟踪新问题。因此,如果上面的答案解决了您最初的问题,那么您可以接受它作为答案,这可能对阅读此主题的其他社区成员有所帮助。
        猜你喜欢
        • 2015-11-26
        • 2020-02-24
        • 2018-03-31
        • 2014-05-03
        • 2020-09-24
        • 2017-02-25
        • 2016-07-01
        • 2017-06-02
        • 1970-01-01
        相关资源
        最近更新 更多