Git 将系统配置文件视为主目录而不是用户主文件夹 (Windows 7)

2024-03-13

我是 Git 新手,正在关注这个 Bitbucket 教程 https://confluence.atlassian.com/display/BITBUCKET/Set+up+SSH+for+Git用于初始设置。在里面Git Bash https://superuser.com/questions/1053633/what-is-git-bash-for-windows-anyway窗口,它显示我为 brnt@brntslaptop,但如果我输入

ls -a ~/.ssh

我得到这个输出:

ls: /c/windows/system32/config/systemprofile/.ssh: 没有这样的文件或目录。

我认为这与我作为管理员或拥有UAC https://en.wikipedia.org/wiki/User_Account_Control已禁用,但我不确定继续的最佳方法。

这个答案类似 https://stackoverflow.com/questions/4313342/how-can-i-make-git-to-default-to-my-home-folder- 但我认为从系统文件夹重定向到用户文件夹不是一个好主意,特别是如果另一个用户有同样的问题。其他类似的答案似乎为解决方案做了符号链接或类似的操作。但我还没有找到涉及系统配置文件的。

我还考虑过将快捷​​方式属性“开始于:”从 %HOME% 更改为 %USERPROFILE%,但是~似乎仍然解析为%HOME%。

这种行为正常吗?使“~”或 %HOME% 解析为我的用户目录的正确方法是什么?


只需更改 %HOME% (或者实际上是 $HOME,因为 %HOME% 很可能根本没有设置)。

默认情况下,<git-install-dir>\etc\profile如果已设置 $HOME 并指向现有目录,则将 $HOME 设置为 %HOMEDRIVE%%HOMEPATH%,否则设置为 %USERPROFILE%。

因此,您可以编辑该文件,找到该行

HOME="$HOMEDRIVE$HOMEPATH"

并删除它或添加一个#在它前面强制使用%USERPROFILE%。

或者,在此块之后的任意位置添加一行显式设置HOME达到您想要的效果。

在较新版本的 Git 中,该行可能不再存在。

我在我的最顶部添加了以下内容etc\profile(它非常具体且丑陋,但它有效):

# Homefix start
HOME=/c/Users/myusername/
HISTFILE=$HOME/.bash_history
export LANG=en_US

# Normalize HOME to Unix path
export HOME="$(cd "$HOME" ; pwd)"
# Homefix end

The export LANG...线可以忽略。我用它来获取 Git GUI 中的菜单和按钮中的英文文本,gitk https://git-scm.com/docs/gitk,因为 IMO 翻译 Git 命令没有增加任何价值,只会造成混乱。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Git 将系统配置文件视为主目录而不是用户主文件夹 (Windows 7) 的相关文章

随机推荐