У меня есть Git-репозиторий для управления моим файлом инициализации emacs в течение некоторого времени.Сегодня как-то все пошло не так.Даже если коммитов много, git status
сообщает: «Пока нет коммитов» и предлагает отследить «новый файл» init.el
.Что не правильно.Действительно, отслеживаемый файл там нетронут, папка .git
там тоже (предположительно, не повреждена), объекты есть, и файлы, которые я ожидаю там, есть.
Понятия не имеючто случилось.Я догадывался, что произошла неудачная ошибка файловой системы, из-за которой в этом репо появилась некоторая критическая информация.
На самом деле не существует проблемы потери данных, поскольку я восстановил ее из резервной копии (это был локальный репозиторий)., так что альтернативы клону назад нет, но резервное копирование выполнено).Но из того, что я читал о Git, я не ожидал этого.Я надеялся, что все будет более надежно.
Итак, я хотел бы знать две вещи.Что могло пойти не так с точки зрения Git?(немного информации об этом ниже).И как мне восстановить такое хранилище, если бы я не сделал свою резервную копию своевременно?
Что касается изменений в хранилище, я могу связать его с несколькими файлами:
![enter image description here](https://i.stack.imgur.com/uUroG.png)
Это скриншот с унисон-синхронизацией, который переходит из (хорошего) восстановленного репозитория в (плохую) более позднюю версию, которая была на моем внешнем жестком диске, поэтому «удалено»файлы, вероятно, являются коммитом, который пропустил моя резервная копия.В любом случае, хорошая версия и поврежденные отличаются только в этих файлах, все остальные идентичны.
Точнее, diff -bur dot-emacs "dot-emacs (corrompido)"
дает мне:
diff -bur dot-emacs "dot-emacs (corrompido)"
diff -bur dot-emacs/.git/COMMIT_EDITMSG "dot-emacs (corrompido)/.git/COMMIT_EDITMSG"
--- dot-emacs/.git/COMMIT_EDITMSG 2019-02-19 19:33:23.000000000 -0300
+++ "dot-emacs (corrompido)/.git/COMMIT_EDITMSG" 2019-02-21 18:52:34.761102130 -0300
@@ -1,10 +1,8 @@
-Add make4ht intermediary files, to be cleaned
+Add LaTeX-item-regexp to safe local variables
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
#
-# Date: Mon Feb 18 10:10:12 2019 -0300
-#
# On branch master
# Changes to be committed:
# modified: init.el
Binary files dot-emacs/.git/index and dot-emacs (corrompido)/.git/index differ
diff -bur dot-emacs/.git/logs/HEAD "dot-emacs (corrompido)/.git/logs/HEAD"
--- dot-emacs/.git/logs/HEAD 2019-02-19 19:33:23.000000000 -0300
+++ "dot-emacs (corrompido)/.git/logs/HEAD" 2019-02-21 18:52:34.793102485 -0300
@@ -295,3 +295,4 @@
0c7b8edcde713c9792fc287c955c749769b440d8 2c5486c5c5cc6c45c0876a80ac51244dcd4f7c09 gusbrs <19410606+gusbrs@users.noreply.github.com> 1550495412 -0300 commit: Add make4ht intermediary files, to be cleaned
2c5486c5c5cc6c45c0876a80ac51244dcd4f7c09 4ef5ff4538822082e8dd65d9251379e9be964cfc gusbrs <19410606+gusbrs@users.noreply.github.com> 1550578780 -0300 commit (amend): Add make4ht intermediary files, to be cleaned
4ef5ff4538822082e8dd65d9251379e9be964cfc 3fc15187e0a6d3a12580c990b08e62e77bd24db7 gusbrs <19410606+gusbrs@users.noreply.github.com> 1550578790 -0300 commit (amend): Add make4ht intermediary files, to be cleaned
+3fc15187e0a6d3a12580c990b08e62e77bd24db7 0adb9ad30843f0cc7c48423ed0097a67c95add78 gusbrs <19410606+gusbrs@users.noreply.github.com> 1550753569 -0300 commit: Add LaTeX-item-regexp to safe local variables
diff -bur dot-emacs/.git/logs/refs/heads/master "dot-emacs (corrompido)/.git/logs/refs/heads/master"
--- dot-emacs/.git/logs/refs/heads/master 2019-02-19 19:33:23.000000000 -0300
+++ "dot-emacs (corrompido)/.git/logs/refs/heads/master" 2019-02-21 18:52:34.797102530 -0300
@@ -275,3 +275,4 @@
0c7b8edcde713c9792fc287c955c749769b440d8 2c5486c5c5cc6c45c0876a80ac51244dcd4f7c09 gusbrs <19410606+gusbrs@users.noreply.github.com> 1550495412 -0300 commit: Add make4ht intermediary files, to be cleaned
2c5486c5c5cc6c45c0876a80ac51244dcd4f7c09 4ef5ff4538822082e8dd65d9251379e9be964cfc gusbrs <19410606+gusbrs@users.noreply.github.com> 1550578780 -0300 commit (amend): Add make4ht intermediary files, to be cleaned
4ef5ff4538822082e8dd65d9251379e9be964cfc 3fc15187e0a6d3a12580c990b08e62e77bd24db7 gusbrs <19410606+gusbrs@users.noreply.github.com> 1550578790 -0300 commit (amend): Add make4ht intermediary files, to be cleaned
+3fc15187e0a6d3a12580c990b08e62e77bd24db7 0adb9ad30843f0cc7c48423ed0097a67c95add78 gusbrs <19410606+gusbrs@users.noreply.github.com> 1550753569 -0300 commit: Add LaTeX-item-regexp to safe local variables
Only in dot-emacs (corrompido)/.git/objects/0a: db9ad30843f0cc7c48423ed0097a67c95add78
Only in dot-emacs (corrompido)/.git/objects/43: b802457cc9ab2d15146fbaf5711e76d0b11f6f
Only in dot-emacs (corrompido)/.git/objects/56: 49d3b00a4c1721287df6de1b8bfde1cf909089
diff -bur dot-emacs/.git/refs/heads/master "dot-emacs (corrompido)/.git/refs/heads/master"
--- dot-emacs/.git/refs/heads/master 2019-02-19 19:33:23.000000000 -0300
+++ "dot-emacs (corrompido)/.git/refs/heads/master" 2019-02-21 18:52:34.801102573 -0300
@@ -1 +0,0 @@
-3fc15187e0a6d3a12580c990b08e62e77bd24db7
diff -bur dot-emacs/init.el "dot-emacs (corrompido)/init.el"
--- dot-emacs/init.el 2019-02-19 19:33:23.000000000 -0300
+++ "dot-emacs (corrompido)/init.el" 2019-02-21 18:52:34.813102706 -0300
@@ -105,6 +105,7 @@
(add-to-list 'safe-local-variable-values '(outline-hide-sublevels 1) t); overview
(add-to-list 'safe-local-variable-values '(eval outline-hide-body) t); contents
(add-to-list 'safe-local-variable-values '(eval outline-show-all) t); showall
+(add-to-list 'safe-local-variable-values '(LaTeX-item-regexp . "\\(bib\\)?item\\b\\|texto\\b") t)
;; Don't ask for confirmation for "confusing" commands
(put 'dired-find-alternate-file 'disabled nil)
У меня все еще есть испорченная версия репозитория для игры.