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 просто игнорило?

1. zamotivator 03.01.2012 21:26 tsarev84580CCD

Оно ведёт себя правильно. И написало же — юзай -f

2. utros 03.01.2012 21:26 pedobook

Поставить Mercurial и hg-git или соорудить костыль в триста строчек.
Ваш К. О.

3. gelraenzamotivator /1 03.01.2012 21:26 imax

я верю что правильно. Но -f мне не нужно, потому как я не хочу добавлять туда ololo.o

4. zamotivatorgelraen /3 03.01.2012 21:27 tsarev84580CCD

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, либо что-нибудь ещё :)

5. gelraenzamotivator /4 03.01.2012 21:28 imax

да я верю, блеать, что задумано, но хотет чтобы оно молча игнорило файлы из gitignore даже если они specified on the command line

6. zamotivatorgelraen /5 03.01.2012 21:29 tsarev84580CCD

ещё раз — патчи git либо пиши alias. Иных решений я не вижу

7. gelraenzamotivator /6 03.01.2012 21:30 imax

а должно быть ещё одно решение: git config ... =/

8. utrosgelraen /7 03.01.2012 21:31 pedobook

Патчи гит, впиливай опцию для git config.

9. gelraenutros /8 03.01.2012 21:32 imax

:(

10. utrosgelraen /9 03.01.2012 21:34 pedobook

Гит, он как ШИНДОШС: там всё хорошо и работает, пока ты делаешь всё так, как предусмотрели тебя разработчики. Как только ты хочешь что-то такое, чего они не предусмотрели, тебе придётся изъебнуться так, что волей-неволей задумаешься, а нужно ли оно тебе.

11. zamotivatorgelraen /9 03.01.2012 21:35 tsarev84580CCD

а какие конкретно проблемы связаны с git add? Зачем тебе его молчаливость? Скрипт какой-то отваливается? Что ты потеряешь при использовании -f?

12. gelraenutros /10 03.01.2012 21:35 imax

я сильно не хочу лезть во внутренности git

13. gelraenzamotivator /11 03.01.2012 21:37 imax

мне просто неудобно что приходится делать git add ololo.{c,h} вместо git add ololo.*
А про -f я уже говорил выше — мне не нужен *.o в репозитории.

14. utrosgelraen /13 03.01.2012 21:50 pedobook

Потыкай в сторону всяких
alias add = add --exclude=*.o
Не уверен в правильности синтаксиса и наличии такого в гите, но идею должно передать.

15. gelraenutros /14 03.01.2012 21:51 imax

нету там такого. можно делать git add 'ololo.*', но это тоже не сильно удобно и не особо впихивается в алиас

16. utrosgelraen /15 03.01.2012 21:53 pedobook

Ну тогда /2 или /8

17. gelraenutros /16 03.01.2012 21:53 imax

угу :(

18. borman 04.01.2012 05:16

Попробуй писать это как git add ololo.\* чтобы гит сам раскрыл wildcard. Алсо проблема высосана из пальца.

19. ulidtkozamotivator /4 04.01.2012 07:24

блядь, ну НАПИСАНО ЖЕ:
> 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.*'

Всё, проблема решена блеадь. Развели тут невесть что.

20. ulidtkoborman /18 04.01.2012 07:24

+++

21. ulidtkogelraen /15 04.01.2012 07:25

и ещё, как насчёт make clean перед git add?

22. utrosborman /18 04.01.2012 11:01 pedobook

Это можно сказать про любую проблему с линуксами.

Do you really want to delete ?