为什么在 vscode 中切换分支时有时会创建一个 index.lock?
Why is an a index.lock sometimes created when switching branches in vscode?
为什么切换分支时vscode有时会创建index.lock?具体来说,如果我刚刚打开的前一个分支在 package-lock.json 中有一些东西,而我只是想让它重置 git reset --hard
?仅供参考,我正在使用节点 8。这是屏幕截图:
Git 在更新索引时创建 index.lock
。 (事实上,index.lock
锁定文件本身 是正在构建的新索引,一旦完成就将被交换到位。但这是一个实现细节。) Git 完成更新后自动删除文件(实际上,通过将其交换到位)。到那时,其他 Git 命令可以自由锁定然后更新索引,当然,一次一个。
如果 Git 命令 崩溃 ,它可能会保留锁定文件(因为它也是 new 索引,可能不完整,因此实际上没有用)。在这种特殊情况下,没有正在进行的 Git 命令可以完成,因此解锁并允许下一个 Git 命令到 运行。
如果文件在某一时刻存在,但在您下次尝试时不存在,这意味着某些 Git 命令是 still 运行ning (和更新)你太不耐烦了。 :-) 如果您混合使用不同的 Git 命令(and/or 界面,例如 GUI),您可能必须手动协调以避免这些 运行 时间冲突。任何一个接口应该在内部与自身协调。
为什么切换分支时vscode有时会创建index.lock?具体来说,如果我刚刚打开的前一个分支在 package-lock.json 中有一些东西,而我只是想让它重置 git reset --hard
?仅供参考,我正在使用节点 8。这是屏幕截图:
Git 在更新索引时创建 index.lock
。 (事实上,index.lock
锁定文件本身 是正在构建的新索引,一旦完成就将被交换到位。但这是一个实现细节。) Git 完成更新后自动删除文件(实际上,通过将其交换到位)。到那时,其他 Git 命令可以自由锁定然后更新索引,当然,一次一个。
如果 Git 命令 崩溃 ,它可能会保留锁定文件(因为它也是 new 索引,可能不完整,因此实际上没有用)。在这种特殊情况下,没有正在进行的 Git 命令可以完成,因此解锁并允许下一个 Git 命令到 运行。
如果文件在某一时刻存在,但在您下次尝试时不存在,这意味着某些 Git 命令是 still 运行ning (和更新)你太不耐烦了。 :-) 如果您混合使用不同的 Git 命令(and/or 界面,例如 GUI),您可能必须手动协调以避免这些 运行 时间冲突。任何一个接口应该在内部与自身协调。