git - 使用 git 推送时将“终端”重定向到“标准输入”
问题描述
如下推送时,有什么方法可以将终端输入重定向到标准输入?
$ git push origin master
Username for 'https://github.com':
然后我可以通过标准输入传递我的用户名/密码。
例如,在基于 linux 的系统中,该sudo
命令总是从终端读取密码,但如果您为它提供一个-S
标志,那么它将从标准输入读取密码。
我只是好奇git
命令中是否有类似的标志?
注意:我的问题只是将git
命令输入重定向到标准输入,我不关心安全性或任何其他事情。
解决方案
Git 通常不会自己询问密码:它会在其他程序上完成这项工作。
当使用 ssh(git clone ssh://...
等等)时,Git 只是直接运行 ssh 本身。这让一切都取决于 ssh。
当使用 http 或 https 时,Git 使用 libcurl 库和凭证助手。你可以告诉 Git 使用哪个凭证助手,这样你就可以自己编写一个从标准输入读取密码的工具,然后告诉 Git 使用那个。这将是相当不安全的,但你绝对可以这样做。
对于其余部分,请参阅Git 推送需要用户名和密码。
推荐阅读
- mongodb - 使用用户名和密码检查与 MONGO DB 服务器的连接
- python-3.x - 使用 Python 请求在 post 请求中发送 cookie 的正确格式是什么?
- django - 使用 Django 从 csv 文件中读取和保存新记录
- angularjs - 图表 js 未在 Angular 应用程序中正确加载
- javascript - 如何将键路径数组返回到嵌套 javascript 对象中的值?
- r - R代码在从其他列中搜索匹配后替换一列中的每个单元格
- java - java - 如何将具有一对多字段的多个表映射到java中的同一个表?
- python - 为 raspberry pi3 交叉编译项目时无法识别“libpython2.7.a”格式
- ssas - 如何在 ssas 表格模型中为列设置千位分隔符
- javascript - 在javascript中创建对象时如何动态提供字段名?