如何解决 Git Portable 的文件访问问题?
Posted
技术标签:
【中文标题】如何解决 Git Portable 的文件访问问题?【英文标题】:How do I fix file access problems with Git Portable? 【发布时间】:2022-01-22 20:58:21 【问题描述】:我在 windows 上使用最新版本的 git 便携版。我使用 ssh 密钥配置了对我的 github 存储库的访问。一切正常。唯一的问题是我每次推送或拉取时都会收到以下错误消息:
hostfile_replace_entries: link /.ssh/known_hosts to /.ssh/known_hosts.old: Operation not permitted
update_known_hosts: hostfile_replace_entries failed for /.ssh/known_hosts: Operation not permitted
我不知道这是从哪里来的,也不知道如何解决。
【问题讨论】:
您的 ssh 程序正在打印这些消息。 Git 在这里唯一的参与是它在使用 ssh 访问另一个 Git 存储库时调用外部(非 Git)ssh 程序。您可以控制 Git 运行哪个 ssh 程序,因此如果您有一个完全可以运行的程序,以及一个可以处理投诉的程序,您可以使用完全运行的程序来停止投诉:根据需要设置core.sshCommand
。否则,请调查您的 ssh 程序。
【参考方案1】:
您可以将GIT_SSH_COMMAND
设置为ssh -Tv
以查看显示错误消息的位置。
/.ssh/known_hosts
表示 Git 认为 $HOME 为空。
因为那个文件应该在$HOME/.ssh/known_hosts
为了测试,在您的 Windows 用户环境变量中设置一个 HOME 变量,设置为 %USERPROFILE%
。
然后从新的 CMD 会话(新窗口)重试。
检查您是否设置了任何GIT_SSH
环境变量。
您应该使用来自C:\Windows\System32\OpenSSH\ssh.exe
或C:\Program Files\Git\usr\bin\ssh.exe
的SSH。
【讨论】:
以上是关于如何解决 Git Portable 的文件访问问题?的主要内容,如果未能解决你的问题,请参考以下文章
Maven插件之portable-config-maven-plugin(不同环境打包)