.gitignore все, кроме - PullRequest
       3

.gitignore все, кроме

2 голосов
/ 27 марта 2020

У меня большой каталог, полный файлов и подкаталогов.

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

Моя идея состояла в том, чтобы создать репозиторий git, который включает только эти несколько файлов, а затем использовать git для передачи файлов назад и вперед через частный репозиторий на github.

Я неспособные переместить / отделить эти файлы в свой собственный каталог в другом месте, они должны оставаться там, где они есть (среди сотен других файлов). Поэтому, если я создам хранилище в этом каталоге, он будет включать в себя множество файлов, которые я не хочу включать. Как будто мне нужно создать репозиторий с белым списком, который говорит: «исключить все, кроме file1.xls, file2.xls».

Мои навыки git слабые. Кто-нибудь может посоветовать самый чистый способ сделать это, или если есть более идиоматический c способ сделать это?

1 Ответ

1 голос
/ 27 марта 2020

Как указал @matt, Git только «видит файлы, которые вы явно просили его увидеть». Простым решением здесь было бы не регистрировать ничего, кроме нужных вам файлов.

$ git add file1.xls file2.xls
$ git commit -m "Here are the Excel files"

Если вы хотите иметь возможность проверять все с помощью $ git add . или просто избежать возможности добавления одного из других файлов случайно одна из техник будет игнорировать все через *, а затем включать ваши указанные c файлы или соответствующие расширения файлов.

Вот пример .gitignore.

# Ignore everything
*
# Include specific files excluded by a previous pattern 
!file1.xls

Замените file.xls на *.xls, если вам не помешает проверка всех файлов Excel.

С документы:

Необязательный префикс "!", который отменяет шаблон; любой соответствующий файл, исключенный предыдущим шаблоном, снова будет включен. Невозможно повторно включить файл, если родительский каталог этого файла исключен. Git не выводит список исключенных каталогов по соображениям производительности, поэтому любые шаблоны для содержащихся файлов не влияют, независимо от того, где они определены. Поместите обратную косую черту sh ("\") перед первым "!" для шаблонов, которые начинаются с литерала "!", например, "\!important!.txt".

https://git-scm.com/docs/gitignore

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...