Username and password in command for git push
可以克隆git存储库,并在命令中指定用户名和密码。 例:
推送时是否还可以指定用户名和密码? 这样,例如,运行
(我知道设置键和其他解决方案的能力,但是我想知道是否有一种方法可以仅使用一个命令继续使用用户名和密码。)我正在Windows 8.1上运行Git Bash。
是的,你可以
在这种情况下,将
要查看
我使用以下格式
如果您的密码或用户名包含@,请用%40替换
可能但在git 2.9.3(2016年8月)之前,
那将包括您的用户名和密码!
但没有更多内容:请参阅Jeff King(
(由Junio C Hamano合并-
push : anonymize URL in status outputCommit 47abd85 (fetch: Strip usernames from url's before storing them, 2009-04-17, Git 1.6.4) taught fetch to anonymize URLs.
The primary purpose there was to avoid sticking passwords in merge-commit messages, but as a side effect, we also avoid printing them to stderr.The push side does not have the merge-commit problem, but it probably should avoid printing them to stderr. We can reuse the same anonymizing function.
Note that for this to come up, the credentials would have to appear either on the command line or in a git config file, neither of which is particularly secure.
So people should be switching to using credential helpers instead, which
makes this problem go away.But that's no excuse not to improve the situation for people who for whatever reason end up using credentials embedded in the URL.
根据Git文档,
1 2 3 | git push [--all | --mirror | --tags] [-n | --dry-run] [--receive-pack=<git-receive-pack>] [--repo=<repository>] [-f | --force] [--prune] [-v | --verbose] [-u | --set-upstream] [<repository> [<refspec>…]] |
并且
因此,您可以像在
当您使用类似的URL时,Git不会存储密码。相反,它将仅存储用户名,因此下次仅需要提示您输入密码即可。如手册中所述,要存储密码,应使用外部凭据帮助器。对于Windows,可以将Windows凭据存储用于Git。默认情况下,该辅助程序也包含在Windows的GitHub中。
使用它时,您的密码将自动被记住,因此您只需要输入一次即可。因此,当您克隆时,将要求您输入密码,然后与遥控器进行的进一步通信将不会再次提示您输入密码。取而代之的是,凭据帮助程序将向Git提供身份验证。
当然,这仅适用于通过https进行身份验证;要进行ssh访问(