UPD: Вопрос можно сформулировать проще:
Будет ли ошибка при вызове git pull после того как на удалённый репозиторий было отправлено перемещение тега на другой коммит, т.е. командой:
git push -f origin some_tag_name
?
________ OLD: Есть необходимость создавать постоянные ответвления от старых коммитов на 1-2 коммита. Merge обратно в основную ветку не ожидается.
Плодить ветки не хочется, т.к. таких ответвлений по 1-2 коммита будет много. Но, чтобы коммиты было легко найти, есть мысль плодить теги.
__A____B___C___D_______
\__A*(tag:r1.0)___A**(tag:r1.0_commented)
Но хочется не плодить их слишком много и есть мысль передвигать теги. Т.е. делать так:
__A____B___C___D_______
\__A*(tag:r1.0)
Потом, когда будет новый коммит:
__A____B___C___D_______
\__A*__A**(tag:r1.0)
Скажите, что будет если делать push -force с изменением местоположения тега? Будут ли у остальных проблемы при выполнении обычной команды git pull? Могут ли быть проблемы при выполнении pull из каких-нибудь GUI-клиентов, может кто сталкивался?
Мигель Де Сервантес: но ведь кроме тегов тебе придется пущить и коммиты, на которые будут эти теги ссылаться. как ты это будешь делать? толку теги пущить без коммитов?
aol-nnov: само собой, коммиты тоже будут запушены вместе с тегами. Но с коммитами проблем не будет при выполнении git pull, т.к. никакого rebase не происходит.
В документации нашёл, что git fetch осуществляет удаление и перенос тегов. А git pull?
aol-nnov: к тегу. разве gc не удаляет только коммиты которым присвоена ветка? по идее коммиты с присвоенным тегом не должны быть удалены.
Например в примере ниже коммиты A* и A** не будут удалены gc ведь?
__A____B___C___D_______
\__A*__A**(tag:r1.0)
Зачем:
в git есть генерируемый файл .docx, который периодически кто-то берёт на review и пишет в нём комментарии. Пока этот кто-то будет его смотреть сам файл уже не раз обновится. Поэтому не очень хорошо файл с комментариями к старой версии коммитить в основную ветку и надо делать ответвление от того коммита, который человек взял на review. А плодить ветки не хочется, поэтому и спрашиваю про теги.
Только не спрашивайте зачем .docx скрещивать с git'ом, умоляю. =)
Мигель Де Сервантес: зачем .docx скре.. кхм. что-то я увлёкся.
куда коммиты-то пущить? на ремоуте-то всё равно бранч указывать.
делай отдельные бранчи и не выдумывай велосипед. надо на них потом теги навешивать - навешивай.
aol-nnov: не репозитория, а коммита. у репозитория есть ветка master и много тегов.
скажем так, я нормально отношусь ко множеству веток))) по-сути, тот же git flow именно это и предлагает. но некоторых людей это почему-то порой пугает.
Мигель Де Сервантес: в гите, скажем так, еще около 100500 возможностей выпендриться. можно выбрать любую. и потом ныть на стековерфлоу, что отстреленная нога болит. понимаешь, о чем я?
есть устоявшийся процесс, есть маргинальщина :)
а для пугливых в нашей корпорации есть штатный психолог. :)