Git имеет встроенную проверку работоспособности ( git fsck
), которая указывает на общие проблемы со структурой метаданных git. Также существует сборщик мусора ( git gc
), который удаляет зависшие и другие лишние вещи.
Что касается целостности данных ... в основном это гарантия, предоставляемая git, данные, которые вы вводите, - это данные, которые вы получаете. Если журнал git
(или даже просто хэш последней фиксации) идентичен, то данные идентичны. Каждый шаг в git сравнивается с контрольной суммой данных, метаданных и предыдущего; это похоже на блокчейн, если данные где-то изменились, контрольные суммы тоже. Если контрольные суммы не совпадают, git будет много жаловаться при оформлении заказа.
Есть старые (2007-2008 гг.?) Разговоры Линуса Торвальдса о git, которые вы можете посмотреть на Youtube, где IIRC также говорит о стороне вещей, связанных с целостностью данных. Здесь также есть некоторая документация: https://git-scm.com/book/en/Git-Internals-Git-Objects
На практике люди просто не беспокоятся об этом, поскольку git волшебным образом позаботится о из этого. Вы просто выполняете «git status», чтобы увидеть, нужно ли вам извлекать / проталкивать / фиксировать изменения, чтобы не отставать от источника.
Дополнительное использование пространства может иметь и другие причины ... git stash
может занимать место, если вы когда-либо его использовали.
Здесь также есть различия в клонированных репозиториях: git не заботится о локальных вещах, которые никогда не были зафиксированы. Если он не зафиксирован, он не существует для клонов.
В Vim 8 добавлена поддержка «вставки в квадратных скобках» (, при которой терминал заключает вставленный текст в escape-коды, которые указывают vim, что текст является вставкой, а не набранной строкой; см. Патч 8.0.0210). Похоже, что поведение по умолчанию — автоматически включать режим вставки перед принятием вставленного текста.
Вы можете отключить вставку в квадратных скобках и вернуться к старому поведению, добавив set t_BE=
в свой файл vimrc.
Обычно я вручную набираю :
, чтобы получить командную строку, , затем вставляю команду. Vim не волнует, что команда начинается с двойного ::
.