Git 因移动文件夹导致更新后不是覆盖原版本而是在重新创建在原路径下,以及鼠标右键快捷菜单中的Git Bash Here 与 Git GUI Here无法使用的问题解决方法

  1. 某年某月某日为了方便管理计算机下的软件,我对大部分软件进行了”搬家”,在对软件”搬家”的过程中 Git 产生了一些问题,我花费了半天时间对出现的比较重要的问题进行一点总结。

    必须做的事 : 在直接移动文件夹后一定要记得在环境变量中更改所有与 Git 有关的环境变量至现在路径。

  2. 问题 1 : 鼠标右键快捷菜单中的Git Bash Here 与 Git GUI Here失去图标,以及无法使用

    解决 : Windows 系统下鼠标右键快捷菜单的图标以及功能都与注册表有关。

    1. 打开注册表编辑器 \HKEY_CLASSES_ROOT\Directory\Background\shell\git_gui\command \HKEY_CLASSES_ROOT\Directory\Background\shell\git_shell\command 下修改Icon 数据为 目前 git_gui.exe 的路径 ("E:\GitHup\Git\cmd\git-gui.exe" "--working-dir" "%v.") 与 git_shell.exe 路径 ("E:\GitHup\Git\git-bash.exe" "--cd=%v.") ,之后 鼠标右键快捷菜单的图标已经恢复,但功能仍未恢复

      注册表

    2. 继续在注册表编辑器\HKEY_CLASSES_ROOT\Directory\shell\git_gui\command\HKEY_CLASSES_ROOT\Directory\shell\git_gui\command下修改 数据为目前 git_gui.exe 的路径 ("E:\GitHup\Git\cmd\git-gui.exe" "--working-dir" "%1") 与 git_shell.exe 路径 ("E:\GitHup\Git\git-bash.exe" "--cd=%1"),然后鼠标右键快捷菜单中图标也可以恢复
      注册表

    部分没有立刻恢复可能需要重启计算机

  3. 问题 2 : Git 因移动文件夹导致更新后不是覆盖原版本而是在重新创建在原路径下

    解决 : 这个我的办法比较笨,我在注册表 Ctrl + F 查找所有Git 的数据以及注册文件, 然后进行修改为现在文件路径 (对于路径后的东西可以不管)
    注册表

  4. 对于移动后可能出现的其他问题,查看 Git 的全局变量寻找没改过的路径进行修改

    1
    2
    3
    路径: 
    Git -> etc -> gitconfig 以记事本打开
    Git -> mingw64 -> etc -> gitconfig 以记事本打开

    Git -> etc -> gitconfig
    Git -> mingw64 -> etc -> gitconfig
    分别修改内部 git 路径。

纯属在百度上搜不到类似问题的解决,又由于自身 git 之前使用不善导致 git 内部许多东西都不想删掉,然后需要更新 git 才摸索出来这种办法