Git是否追踪.ssh/config修改的远程URL?远程URL存储形式问询
Git与SSH配置相关问题解答
问题1:若.ssh/config配置文件中的远程URL被修改,Git是否会追踪该变化?
答案是不会哦。原因很简单:.ssh/config是SSH客户端的专属配置文件,默认情况下它并不在任何Git仓库的跟踪范围内——除非你手动把它添加到某个仓库的跟踪列表里(比如执行git add ~/.ssh/config),否则Git根本不知道这个文件的存在,自然不会追踪它的修改。
问题2:执行git remote set-url origin gh:iBug/foo后,Git会存储哪个地址?
Git会原封不动地存储你输入的gh:iBug/foo。
这里要理清一个关键逻辑:Git本身并不负责解析SSH配置里的别名(就是你.ssh/config中Host GH gh这类规则),它只是把你设置的远程URL字符串原原本本地存在仓库的配置里。只有当你执行git pull、git push这类需要和远程仓库通信的操作时,SSH客户端才会去读取.ssh/config,把gh解析成对应的git@github.com,完成实际的连接。
如果你执行git remote -v查看仓库的远程配置,看到的会是gh:iBug/foo,而不是解析后的完整地址。
内容的提问来源于stack exchange,提问作者iBug
相关产品推荐
相关产品推荐

