Как окончательно игнорировать файл во всех подкаталогах через.gitignore
Я знаю, что есть много повторяющихся вопросов, но я полностью сбит с толку. Я должен признать, что я совершенно новичок в Git. Я использую RabbitVCS, однако я редактирую файл.gitignore, используя gedit вручную. Вот что я сделал:
- Я создал хранилище в Github.
- Я клонировал его на своем локальном компьютере, используя RabbitVCS.
- Я вставил все файлы и папки проекта в хранилище.
- Я создал
.gitignore
файл в корне хранилища, который включает в себя этот шаблон:*~
,
Я еще ничего не передал.
Я хочу игнорировать все ~
и такие другие временные файлы в корне и подкаталогах. Он игнорирует все файлы в корне, но не влияет на подкаталоги. Когда я хочу зафиксировать с помощью RabbitVCS, я вижу их в окне фиксации.
Я сбиваю с толку, потому что в Bazaar мы сначала добавляем файлы, затем фиксируем их. Но это Git, кажется, мы должны просто добавить новые файлы! Это правильно?
Что я делаю неправильно? я должен совершить сначала?
1 ответ
Из руководства пользователя gitignore:
Символ "**", за которым следует косая черта, означает совпадение во всех каталогах. Например, "** / foo" соответствует файлу или каталогу "foo" в любом месте, так же, как шаблон "foo". "**/foo/bar" соответствует файлу или каталогу "bar" в любом месте, которое находится непосредственно в каталоге "foo".
Как пишет Ян Худек, вы можете просто использовать *~
:
$ mkdir test
$ cd test
$ git init
Initialized empty Git repository in /tmp/test/.git/
$ echo '*~' > .gitignore
$ mkdir -p some/deep/directory
$ touch some/deep/directory/test.txt
$ touch some/deep/directory/test.txt~
$ git add some/deep/directory/test.txt*
The following paths are ignored by one of your .gitignore files:
some/deep/directory/test.txt~
Use -f if you really want to add them.
fatal: no files added