Как я могу удалить файлы .DS_Store из Git-репозитория?

для моего приложения, с зашифрованными параметрами URL-адреса GET, только это сработало. Я всегда получал TypeError: $(...) is null. Взято из https://developer.mozilla.org/en-US/docs/Web/API/FileReader/readAsDataURL

function previewFile() {
  var preview = document.querySelector('img');
  var file    = document.querySelector('input[type=file]').files[0];
  var reader  = new FileReader();

  reader.addEventListener("load", function () {
    preview.src = reader.result;
  }, false);

  if (file) {
    reader.readAsDataURL(file);
  }
}

Image preview...

1100
задан jub0bs 20 December 2014 в 15:45
поделиться

6 ответов

Удалите существующие файлы из репозитория:

find . -name .DS_Store -print0 | xargs -0 git rm -f --ignore-unmatch

Добавляют строку

.DS_Store

в файл .gitignore, который может быть найден на верхнем уровне Вашего репозитория (или создан, если это уже не там). Можно сделать это легко с этой командой в главном каталоге

echo .DS_Store >> .gitignore

Тогда

git add .gitignore
git commit -m '.DS_Store banished!'
2154
ответ дан Chris Redford 20 December 2014 в 15:45
поделиться

Это будет работать:

find . -name "*.DS_Store" -type f -exec git-rm {} \;

Это удаляет все файлы, имена которых заканчиваются .DS_Store, включая ._.DS_Store.

4
ответ дан wjandrea 20 December 2014 в 15:45
поделиться

удалите их использующий git-rm, и затем добавьте.DS_Store к .gitignore для остановки их добавляемый снова. Можно также использовать blueharvest для остановки их создаваемый все вместе

10
ответ дан Nathan 20 December 2014 в 15:45
поделиться

В некоторых ситуациях можно также хотеть проигнорировать некоторые файлы глобально. Для меня.DS_Store является одним из них. Вот то, как:

git config --global core.excludesfile /Users/mat/.gitignore

(Или любой файл по Вашему выбору)

Тогда редактируют файл точно так же, как .gitignore repo. Обратите внимание, что я думаю, что необходимо использовать полный путь.

58
ответ дан Tim 20 December 2014 в 15:45
поделиться

I found that the following line from snipplr does best on wiping all .DS_Store, including one that has local modifications.

find . -depth -name '.DS_Store' -exec git-rm --cached '{}' \; -print

--cached option, keeps your local .DS_Store since it gonna be reproduced anyway.

And just like mentioned all above, add .DS_Store to .gitignore file on the root of your project. Then it will be no longer in your sight (of repos).

6
ответ дан 19 December 2019 в 20:14
поделиться

Мне пришлось изменить git-rm на git rm в приведенном выше примере, чтобы заставить его работать:

find . -depth -name '.DS_Store' -exec git rm --cached '{}' \; -print
15
ответ дан 19 December 2019 в 20:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: