gelraen
03.01.2012 21:24 imax
Если в .gitignore есть *.o и я делаю git add ololo.*, то получаю вот такое:
The following paths are ignored by one of your .gitignore files:
ololo.o
Use -f if you really want to add them.
fatal: no files added
Как сделать чтобы оно просто добавляло ololo.c и ololo.h, а *.o просто игнорило?
Оно ведёт себя правильно. И написало же — юзай -f
Поставить Mercurial и hg-git или соорудить костыль в триста строчек.
Ваш К. О.
я верю что правильно. Но -f мне не нужно, потому как я не хочу добавлять туда ololo.o
man git
The git add command will not add ignored files by default. If any ignored files were explicitly specified on the command line, git add will
fail with a list of ignored files. Ignored files reached by directory recursion or filename globbing performed by Git (quote your globs
before the shell) will be silently ignored. The git add command can be used to add ignored files with the -f (force) option.
Так и задумано. Патчи git, либо делай alias, либо что-нибудь ещё :)
да я верю, блеать, что задумано, но хотет чтобы оно молча игнорило файлы из gitignore даже если они specified on the command line
ещё раз — патчи git либо пиши alias. Иных решений я не вижу
а должно быть ещё одно решение: git config ... =/
Патчи гит, впиливай опцию для git config.
:(
Гит, он как ШИНДОШС: там всё хорошо и работает, пока ты делаешь всё так, как предусмотрели тебя разработчики. Как только ты хочешь что-то такое, чего они не предусмотрели, тебе придётся изъебнуться так, что волей-неволей задумаешься, а нужно ли оно тебе.
а какие конкретно проблемы связаны с git add? Зачем тебе его молчаливость? Скрипт какой-то отваливается? Что ты потеряешь при использовании -f?
я сильно не хочу лезть во внутренности git
мне просто неудобно что приходится делать git add ololo.{c,h} вместо git add ololo.*
А про -f я уже говорил выше — мне не нужен *.o в репозитории.
Потыкай в сторону всяких
alias add = add --exclude=*.o
Не уверен в правильности синтаксиса и наличии такого в гите, но идею должно передать.
нету там такого. можно делать git add 'ololo.*', но это тоже не сильно удобно и не особо впихивается в алиас
Ну тогда /2 или /8
угу :(
Попробуй писать это как git add ololo.\* чтобы гит сам раскрыл wildcard. Алсо проблема высосана из пальца.
блядь, ну НАПИСАНО ЖЕ:
> Ignored files reached by ... filename globbing performed by Git (quote your globs before the shell) will be silently ignored.
> quote your globs before the shell
git add 'ololo.*'
Всё, проблема решена блеадь. Развели тут невесть что.
+++
и ещё, как насчёт make clean перед git add?
Это можно сказать про любую проблему с линуксами.