如何覆盖.git / config中设置的[remote“origin”] url?
有时我需要使用https协议,我的用户名和密码作为网址的一部分,我不想提交此类信息。一种选择是忽略.git / config
有没有办法:
a)覆盖它(来自全局.gitconfig?)或
b)有一个本地.git / config但不必担心它可以被提交,或者
d)别名为git push https://privateurl master
或
c)让它以其他方式工作吗?
答案 0 :(得分:3)
您可以在$ HOME / .gitconfig
中添加例如
[url "https://git.host.com"]
insteadOf = "git://git.host.com"
或
[url "ssh://user@git.host.com"]
insteadOf = "git://git.host.com"
这将为ssh添加您的用户名。
[url "ssh://user@git.host.com"]
insteadOf = "ssh://git.host.com"
答案 1 :(得分:1)
我认为你误解了Git是如何工作的。 .git目录中的文件存储Git需要运行的信息。这包括存储库信息(提交,对象,指针等)以及元信息(本地索引,本地首选项等)。 .git目录中的文件不存储在存储库中,因为它们基本上 存储库。元信息(例如.git / config中的设置)不会被推送到远程存储库。
有关.git目录的(简要)概述,请参阅Git社区手册中的this条目;有关进一步讨论,请参阅this question。