好吧,我通过vagrant使用git来更新我所从事的项目,我仍然使用基本身份验证而不是令牌身份验证。周五之后就不能用了,所以我需要更新一下
只是我不知道怎么做。
如果我执行这个命令"sudo git config——list——global"在vagrant中,我得到:
user.name=my username
user.email=my email address
当我执行命令"sudo git config——list——local"时,我得到了很多东西,我认为这些东西都不需要改变,因为它像"你的源是这个url,你的上游是另一个url,等等">
值得注意的是,我的密码没有在任何地方,但我怀疑它没有显示是出于安全原因。(我知道目前,如果我推送一些更改到原点,我不需要输入我的密码。)
那么,我的问题是,如何在这些凭证中设置身份验证令牌?如果失败,如果我不能,我如何"取消"我的密码,以便它要求我的令牌?
user.name
和user.email
的设置不是认证设置。
Git本身不会将你的密码存储在任何地方,因为Git本身从不会首先进行任何身份验证,所以它不需要你的密码。
当一个Git安装(例如您的笔记本电脑软件)需要与另一个Git安装(例如在GitHub上)通信时,Git会调用其他软件,例如用于http/https访问的libcurl例程或用于ssh访问的ssh系统。这些<<em>/em>做进行身份验证,并且可能需要密码。由于Git本身没有在任何地方存储凭证,因此它们可能依赖于外部帮助程序,例如Git的"凭证帮助程序",或者它们可能有自己的方法来获取和分发凭证。例如,ssh使用文件和/或ssh-agent。
…我的问题是,如何在这些凭证中设置身份验证令牌?如果失败,如果我不能,我如何"取消"我的密码,以便它要求我的令牌?
这取决于您现在使用哪个程序进行身份验证。这些都依赖于操作系统和协议:当使用https://user@host/path/to/repo.git
时,Git使用操作系统特定的libcurl代码和操作系统特定的凭据助手,当使用ssh://user@host/path/to/repo.git
(或user@host:path/to/repo.git
语法,在Git中是缩写)时,Git使用ssh。
参见:
- 列出凭证帮助器的git凭证(特别是bk2204的答案) 如何在Git中保存用户名和密码?
和类似的Google搜索结果,现在您已经知道了这些神奇的单词。当使用ssh(这是我最喜欢的方法)时,请参阅ssh文档(有很多这样的文档;这很复杂)