LINUX.ORG.RU
ФорумTalks

файлы в git поделить на группы как?

 


0

1

У меня в проекте есть два типа файлов:

  1. самые исходные файлы
  2. файлы, генерируемые утилитами (типа flex, bison, autoreconf и т.п.)

Я понимаю, что обычно генерируемые файлы не кладут в репозиторий. Я бы хотел включить генерируемые файлы в состав репозитория на тот случай, если придётся собирать проект без наличия утилит, одним компилятором. Для того, чтобы изменения в этих файлах не заслоняли обычные коммиты, я хочу что-то типа второго .gitignore, т.е. обычно эти файлы не включать в коммиты, но когда очень хочется (перед тегом), то включать.

Что со мной не так?

★★★★

Можно сделать отдельную ветку с хламом.

Что со мной не так?

Это сложный вопрос, записывайся на консультацию специалиста.

DrBrown
()
Ответ на: комментарий от DrBrown

Можно сделать отдельную ветку с хламом.

как раз хотелось бы чтобы всё в одной ветке было.

Вот есть какая-то специальная цель у make с именем dist, она мне как-то должна помочь?

Г̶д̶е̶ ̶я̶ ̶д̶о̶л̶ж̶е̶н̶ ̶х̶р̶а̶н̶и̶т̶ь̶ ̶т̶а̶к̶о̶й̶ ̶а̶р̶х̶и̶в̶,̶ ̶и̶ ̶з̶а̶ч̶е̶м̶,̶ ̶е̶с̶л̶и̶ сейчас модно всё собирать не из архивов, а прямо по метке из репозитория? Вопрос где хранить даже неактуальный, к релизу можно приаттачивать файлы на гитхабе. Вопрос как это должно работать, если не будет использоваться - вот это актуальный вопрос.

Shushundr ★★★★
() автор топика
Последнее исправление: Shushundr (всего исправлений: 3)

Вариант хранить отдельно и подключать их как git submodule. Решение не очень - намучались в свое время с merge-конфликтами.

necromant ★★
()

Кажется так:
1. Добавляешь файл в репозиторий.
2. Добавляешь его в .gitignore.
3. В обычном режиме (git add .) файл не добавляется но обновления для него можно добавить при желании (git add file.ext).

urxvt ★★★★★
()

добавь

git update-index –assume-unchanged

в качестве опции для мейка которая включена по дефолту например

Syncro ★★★★★
()

Ты включаешь генерируемый хлам в репозиторий вместо релиз-тарболлов.

t184256 ★★★★★
()

Что со мной не так?

Ты постоянно ищешь способы сделать неважно что, но обязательно через жопу. Такая, ммм, специфичная форма пытливости ума.

thesis ★★★★★
()

на тот случай, если придётся собирать проект без наличия утилит, одним компилятором

Что за случай такой?

ugoday ★★★★★
()
Ответ на: комментарий от DrBrown

Это сложный вопрос, записывайся на консультацию специалиста.

Давно пора Микрософту допилить TreeFS.

Ещё с начала 2000-х пилили, в 2006-м забросили, на этапе Vista.

i_am_not_ai
()

файлы, генерируемые утилитами

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

Lordwind ★★★★★
()

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

mono ★★★★★
()
Ответ на: комментарий от deadNightTiger

На заборе пишут, что после этого действие гитигнора на эти файлы перестает распространяться навсегда.
Если это правда, то я потрясенно молчу о великолепии дизайна гита.

thesis ★★★★★
()
Ответ на: комментарий от thesis

Но ведь из Си тоже до сих пор не выкинули безусловные переходы.

i_am_not_ai
()

на тот случай, если придётся собирать проект без наличия утилит, одним компилятором

Да заодно и .o файлы закоммить, а то вдруг у кого нет компилятора.

rupert ★★★★★
()

Выглядит как будто ты хочешь делать релизы. Сделай ветку специально для релизов и напиши скрипт, которым будешь делать релизы, в котором будешь мержить мастер в эту самую ветку, генерить нужные тебе файлы, комиитить их и ставить тэг. Таким образом мастер у тебя будет чистый, а всякие левые файлы только в релизной ветке

cobold ★★★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)