有没有办法强制git不为只读操作创建index.lock git status?
我在tmux中显示工作树的状态,每隔几秒钟更新一次.基本上我解析输出git status --branch --ignored --porcelain和一些其他命令.问题是,对于大型存储库,git status可能需要几秒钟才能完成.在此期间,我无法运行任何其他git命令,因为存储库已被锁定.
编辑:
以下是我的tmux系列相关部分的一些图片.从左到右的符号说明:
与远程分支同步| 2阶段变化| 1个未分级的变更| 5个忽略的文件| 1个藏匿条目:

与远程分支同步| 工作树没有变化| 5个忽略的文件:

提前远程分支1提交| 工作树没有变化| 5个忽略的文件:

使用"GIT_INDEX_FILE"环境变量使git使用另一个索引文件是什么意思?
所以,要从HEAD使用创建一个新的索引文件
GIT_INDEX_FILE=.git/other-index git reset
Run Code Online (Sandbox Code Playgroud)
在它之后你可以
GIT_INDEX_FILE=.git/other-index git status
Run Code Online (Sandbox Code Playgroud)
查找更改.
它的缺点是,如果主索引将被add/rm命令修改,你将看不到真实的状态.但至少它会让你发现一个变化的事实,然后可能会做更多的东西来找出真正的差异.
你能描述一下你想要实现的更多目标吗?可能我们可以提出一些其他解决方案.
另一个想法.试试这个:
cp .git/index .git/other-index # or maybe just "ln" once, rather than copying everytime?
GIT_INDEX_FILE=.git/other-index git status
Run Code Online (Sandbox Code Playgroud)
不确定这有多可靠...如果cp你在做的时候发生命令git add/rm,你可能会有"损坏"的索引文件,显然会失败,但是为了你的使用我相信它已经足够了 - 你可以忽略它失败并重试.
| 归档时间: |
|
| 查看次数: |
1283 次 |
| 最近记录: |