使用某些Git工具时,当出现文件被占用的情况(error: unable to unlink old ‘xxx’: Invalid argument),Git工具处理不当,导致Git流程被异常终止,本地工作目录就会被污染。
举个例子,在使用Git拉取文件的时候,如果某个处于版本控制中的Excel文件被打开了,Git在试图更新这个被打开的文件时,就会因为文件被占用从而导致更新失败。某些Git工具直接就中断了更新流程,导致工作目录中的文件被错误的修改了,如果发生修改的文件较多,就无法区分哪些是自己修改的,哪些是别人修改的。
本工具可用于拦截Git unlink文件失败事件,给出危险提示,避免这种git静默的处理引起不可挽回的错误。文件被占用这种情况,一般只会出现在windows系统中,本工具也只适用于windows操作系统。
如何安装
- 下载本工程源码,用VisualStudio编译,得到GitAsk.exe。或者下载预编译好的GitAsk.exe程序;
- 在Windows系统环境变量中增加变量
GIT_ASK_YESNO
,值为GitAsk.exe所在路径.
可以用命令行设置系统环境变量:
setx GIT_ASK_YESNO GitAsk.exe文件的绝对路径