Что вызывает запись в моем файле конфигурации git для каждого добавляемого файла LFS?

#git #bitbucket #git-lfs

#git #bitbucket #git-lfs

Вопрос:

Недавно я добавил много (новых) файлов в свой репозиторий git и отслеживаю их с помощью Git LFS. Мой пульт BitBucket, и все это прекрасно работает, как задумано.

За исключением того, что для каждого файла, который я добавляю в LFS, в мой добавляется запись .git/config , которая выглядит следующим образом:

 [lfs "https://bitbucket.org/{}/{********-****-****-****-****6bcd1adc}/info/lfs/object/verify?upload_id=********-d87a-47f9-a857-ae04********"]
    access = basic
  

(Все * являются шестнадцатеричными символами, которые я удалил по соображениям безопасности)

Поскольку для каждого файла, который я отслеживаю и отправляю с помощью LFS, добавляется одна запись, а в LFS у меня сотни файлов, мой файл конфигурации git теперь огромен.

Я думаю, что эта проблема началась после переключения моего origin пульта дистанционного управления (с одного репозитория BitBucket на другой).

Что происходит и, что более важно, как я могу это исправить?

Могу ли я безопасно удалить эти записи из .git/config ?


Для справки, вот как настроен BitBucket remote в том же файле конфигурации:

 [remote "origin"]
    url = https://user@bitbucket.org/user/repository.git
    fetch =  refs/heads/*:refs/remotes/origin/*
[lfs "https://user@bitbucket.org/user/repository.git/info/lfs"]
    locksverify = false
    access = basic
[lfs "https://bitbucket.org/user/repository.git/info/lfs"]
    access = basic
  

И вот как выглядит часть LFS .gitattributes в корне репозитория:

 ...
database/seeds/sql/content/*/allcontent.sql filter=lfs diff=lfs merge=lfs -text
public/img/*/path1/*.normal@2x.jpg filter=lfs diff=lfs merge=lfs -text
public/img/*/path2/*.normal@2x.jpg filter=lfs diff=lfs merge=lfs -text
  

Обновление; Я запустил git lfs uninstall , а затем git lfs install --local в репозитории, чтобы посмотреть, исправляет ли это что-нибудь, этого не происходит (то есть в .git / config все еще добавлялось больше строк для новых файлов, которые я добавил в LFS). Мой .git/config файл теперь имеет размер более 110 КБ: S

Обновление 2: я связывался с BitBucket, единственный ответ, который я получил до сих пор, заключается в том, что это ожидаемое поведение и что-то об удалении локальных файлов LFS, поэтому я думаю, что они не понимают проблему, которую я отправил. Я подозреваю, что вы можете исправить это грубым способом, удалив удаленный репозиторий в BitBucket и все файлы, отслеживаемые с помощью LFS, из вашего рабочего каталога, удалив Git LFS, удалив каталог LFS из вашего репозитория Git, удалив все .gitattributes строки, ссылающиеся на LFS, выполнив новый коммит локально, используя BFG или что-то подобное, чтобы удалить ссылки на все файлы, отслеживаемые с помощью LFS, из всех исторических коммитов (в зависимости от того, как вы это делаете, это может привести к отслеживаемые файлы пропадают из всех исторических коммитов — я следил за этой статьей), затем переустановите Git LFS и повторно отслеживайте и добавляйте файлы перед отправкой в репозиторий, недавно созданный в BitBucket. Я сделал именно это, но без последнего шага переустановки Git LFS — сейчас я просто буду отслеживать эти файлы обычным способом. Если использование LFS абсолютно необходимо, я подозреваю, что эти шаги исправят это (ценой возможной потери целостности исторических фиксаций), но я тоже не уверен. Если я получу другой ответ от BitBucket, я обязательно исправлю эту проблему.

Обновление 3: BitBucket теперь понимает проблему и проводит расследование.

Обновление 4: BitBucket так и не вернулся ко мне. Я решил начать все сначала, и теперь у меня есть репозиторий, который хорошо работает без проблем. Понятия не имею, что происходит.

Комментарии:

1. похоже, что вместо простого добавления отслеживаемого файла для одного репозитория lfs добавляется полная запись для URL-адреса репозитория lfs, это может быть связано с настройкой lfs, похоже, что URL-адреса lfs в файле .gitconfig не совпадают с теми, которые настроены в репозитории.

2. Спасибо за ваш ответ, Джеймс! Как бы мне настроить lfs или посмотреть, какова текущая конфигурация?

3. @JamesD у тебя есть какие-нибудь подсказки, приятель?

4. это решаемая проблема? У меня такая же проблема.

5. @Lane, нет, я только что начал с нового репозитория. BitBucket так и не перезвонил мне.