Почему index.lock иногда создается при переключении веток в vscode?
1 ответ
Git создает index.lock
всякий раз, когда он обновляет индекс. (На самом деле, index.lock
Сам файл блокировки - это новый создаваемый индекс, который будет заменен после его завершения. Но это деталь реализации.) Git удаляет файл автоматически (фактически, заменяя его на место) после завершения обновления. В этот момент другие команды Git могут блокировать и затем обновлять индекс, хотя, конечно, по одной за раз.
Если команда Git дает сбой, она может оставить файл блокировки на месте (который, поскольку это также новый индекс, может быть неполным и, следовательно, фактически бесполезным). В этом конкретном случае нет текущей команды Git для завершения, а значит, разблокировки и запуска следующей команды Git.
Если файл есть в какой-то момент, но не появится в следующий раз, когда вы попробуете что-то, это означает, что какая-то команда Git все еще выполнялась (и обновлялась), и вы просто были слишком нетерпеливы.:-) Если вы смешиваете различные команды Git (и / или интерфейсы, такие как GUI), вам, возможно, придется вручную координировать действия, чтобы избежать этих конфликтов во время выполнения. Любой интерфейс должен согласовываться с самим собой.