我使用Visual Studio和Brackets。两者都可以将Git集成到它中,但是,可以说Visual Studio与GitLab上的存储库进行对话,而Brackets与Github上的存储库进行对话。
每个应用程序如何知道我可以推送到每个存储库的主分支,即使每个网站的帐户都是使用不同的密码创建的?
我不知道怎么回事这个词,但另一个切线:
在Visual Studio中,我可以覆盖全球的用户名和电子邮件。这是为什么当我使用不同的电子邮件设置存储库?如果有人有我的电子邮件,他们不能只是推送到我的存储库中的主分支?
Git如何知道?我只需要一个很好的解释。
好的真棒,使更多的意义,但我没有使用SSH,我不相信我的软件也是。我简单地启动了程序并开始使用Git,并且我能够推送到主服务器并进行同步。这是因为软件在我的机器上获得了全局git用户,并发现它与托管存储库的用户相匹配? 我确实通过Git Client输入了我的密码,所以我认为“设置”我的机器为该用户。在这方面,如果我为GitHub设置了GitLab,它又是如何工作的? – asblargh
在您的计算机上缓存凭证取决于您使用的某些配置和操作系统。请参阅:https://git-scm.com/book/en/v2/Git-Tools-Credential-Storage我提到它,因为我认为它可能是你通过https而不是SSH与服务器交谈的情况。要仔细检查您是否使用SSH,请登录到您的Github和Gitlab GUI并转到您的帐户设置并查看您的密钥。将居住在本地机器上的密钥与生活在那里的任何密钥进行比较。如果没有或没有匹配,那么您的凭证必须缓存,否则您使用SSH! – rdgd
如果您在Mac OSX或Linux上,您可以在以下位置找到您的公共密钥,该密钥将作为授权密钥存储在远程Git服务器的以下位置中:〜/ .ssh/id_rsa.pub。文件名“id_rsa.pub”是rsa公钥的最常用/默认名称。 – rdgd