【问题标题】:How do I suppress the repository url when pushing or pulling with git?使用 git 推送或拉取时如何抑制存储库 url?
【发布时间】:2019-11-19 08:54:36
【问题描述】:

我有一个远程到 azure-devops 的存储库。

如果这很重要,我必须通过代理,但这是设置并正常工作。我认为这不会成为这个问题的问题。

您可以向远程 url 添加一个令牌(以 https://user:pat@dev.azure.com/.. 的形式),我这样做是因为每次都复制粘贴 pat 很烦人。

推拉时显示完整的url。

$ git push azure dev
Counting objects: 3, done.
Delta compression using up to 12 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (2/2), 279 bytes | 0 bytes/s, done.
Total 2 (delta 1), reused 0 (delta 0)
remote: Analyzing objects... (2/2) (163 ms)
remote: Storing packfile... done (177 ms)
remote: Storing index... done (31 ms)
To https://user:mypat@dev.azure.com/user/path/to/repo <<<---
   b20e4fd..b1772a1  dev -> dev

如何取消显示“To https...”行?

编辑:这不是重复的,因为该答案会将身份验证协议更改为 ssh 密钥。因为我必须使用代理(见第二段)我不能使用 ssh 密钥。

【问题讨论】:

  • 压制是什么意思?因为我不让它由 git 输出?
  • 也许这个答案也会有所帮助:serverfault.com/a/912788
  • @ochi OP 没有询问如何获取用户名/密码。问题是关于如何从公共日志中隐藏用户名/密码。
  • @phd 解释在答案本身中。 OP 可以像任何其他用户一样阅读它们——我认为不需要用勺子喂食或复制一个解释清楚的答案(稀释成评论)。你呢?

标签: git


【解决方案1】:

@ochi 指出对另一个类似问题的评论。 following comment 保留了我的答案。

使用.netrc 保存我的身份验证信息可以按需要工作。一定要chmod 0600 ~/.netrc,否则它不起作用。

machine dev.azure.com
login user
password personalaccesstoken

这是我现在得到的输出。

$ git push azure test
Counting objects: 3, done.
Delta compression using up to 12 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (2/2), 289 bytes | 0 bytes/s, done.
Total 2 (delta 1), reused 0 (delta 0)
remote: Analyzing objects... (2/2) (126 ms)
remote: Storing packfile... done (244 ms)
remote: Storing index... done (95 ms)
To https://dev.azure.com/user/path/to/repo <<<---
   24a77ad..5ee5fcb  HEAD -> test

更新

正如 cmets 中所指出的,这不是一个完美的解决方案。 .netrc 文件被其他应用程序使用,这些信息将可供他们使用。这适用于我的情况,你应该评估你的情况并决定这是否是你想要的。

【讨论】:

  • 请注意,此解决方案会将您的用户/密码保留在 ~/.netrc 文件中 - 其他系统可能能够读取或访问该文件。在某些情况下这是不可取的。
  • 已编辑以包含您的警告。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-26
  • 1970-01-01
  • 2011-09-23
  • 1970-01-01
  • 2013-05-09
  • 2011-12-15
相关资源
最近更新 更多