期刊背景';git状态';Git中的扩展会干扰交互工作
我同时使用Git扩展和命令行(我使用Git tfs,所以应该使用命令行进行推送/获取) 但是,如果我尝试在没有关闭Git Extensions窗口的情况下从命令行推送更改,它通常会以错误结束期刊背景';git状态';Git中的扩展会干扰交互工作,git,git-extensions,Git,Git Extensions,我同时使用Git扩展和命令行(我使用Git tfs,所以应该使用命令行进行推送/获取) 但是,如果我尝试在没有关闭Git Extensions窗口的情况下从命令行推送更改,它通常会以错误结束 fatal:无法创建“.git/index.lock”:文件存在。 原因显而易见-Git扩展定期执行Git状态,这会创建锁文件并阻止推送 我在控制台中工作之前找到了解决方案——关闭Git扩展,但它不是很方便,而且我经常忘记它 我还能在这里做什么?是否可能会以某种方式禁用git状态的创建锁?git 2.14已
fatal:无法创建“.git/index.lock”:文件存在。
原因显而易见-Git扩展定期执行Git状态,这会创建锁文件并阻止推送
我在控制台中工作之前找到了解决方案——关闭Git扩展,但它不是很方便,而且我经常忘记它
我还能在这里做什么?是否可能会以某种方式禁用git状态的创建锁?git 2.14已经建议对
git状态进行后台刷新,可能最终受益于:
参见。
(于2017年12月13日被合并)
git status.txt
:提及--无可选锁
如果您在文档中想到“我不希望Git为我的后台进程使用任何锁”,那么您可能很容易在Git.txt
中遇到“--无可选锁”
但是,找到问题的一个特定实例是非常合理的:您在后台运行“git status
”,并且您注意到它会导致与其他进程的锁争用。因此,您可以查看git status.txt
,看看是否有办法禁用它,但没有提到该标志
让我们添加一个简短的注释,指出状态确实如此
用指向全局选项的指针触摸索引(以及原因)。这可以为用户指明正确的方向,并帮助他们对禁用的内容做出更明智的决定
因此,现在的标题是:
背景刷新
默认情况下,git status
将自动刷新索引,更新
从工作树中缓存stat信息并写出
结果。
写出更新后的索引是一种优化,但不是
严格必要的(状态
为自身计算值,但写入
删除它们只是为了避免后续程序重复我们的操作
计算)。
当状态
在后台运行时,写入过程中持有的锁可能与其他同步进程冲突,导致它们失败。
<强>在后台运行<代码>状态< /代码>的脚本应考虑
使用git--无可选锁状态
如果最后一句话可以在Git扩展中打包的嵌入式Git中找到它的方式,那将解决您的问题。而问题是由Git状态锁定引起的,它还可以通过更改Git扩展的设置来缓解,而无需在选择在其他地方执行Git工作之前关闭Git扩展:我的大部分工作都是在“其他地方”完成的,因此关闭Git扩展不是一个有趣的长期策略:}
从此-
对于任何遇到索引锁相同问题的人,都有一个解决方法[by]
- 禁用设置->Git扩展->性能->显示更改的文件数
[…]这样Git扩展就不会在任何文件更新时调用Git status,这会阻止当前处理Git命令并引入锁
希望这对你们有帮助