/ / в git, який найкращий спосіб зберігати знімки різних версій? - git, контроль версій

в git, який найкращий спосіб зберігати знімки різних версій? - git, контроль над версіями

використовуючи репозиторій git, майте гілки від 1.0 до 1.6.

хотіли б зберігати останню з кожної версії у власному каталозі:

/dev
/.git
/good-stuff
/v1.0
...
/v1.6

що є найкращим способом зробити це?

чи є спосіб відтворити знімок, коли філія фіксується?

сервер Linux. мислення сценарію оболонки, що викликається git checkout слідує rsync для переміщення файлів. але думати, що мав бути кращий спосіб.

ПРИМІТКА: використовується "тег", коли слід було сказати "гілка" - mea culpa

Відповіді:

2 для відповіді № 1

Теги насправді не слід оновлювати.Вони "повинні бути фіксованими точками в історії. Якщо ви постійно вносите зміни, вам слід використовувати гілку для цього. Якщо ви це зробите, немає необхідності зберігати папки за межами git (якщо ви задумаєтесь, це перевершить призначення vcs)

Якщо ви обов’язково повинні мати ці папкихоча, можливо, ви могли б налаштувати гачок фіксації, який це робить. Оскільки ви не вказали нічого про свою платформу, я не можу вдаватися до подальших деталей.


3 для відповіді № 2

Те, що ви просите, звучить ідіоматично в Subversion, а не в Git. У Git ваше дерево може виглядати так:

dev/
good-stuff/

Існує також каталог .git / під dev /, але це насправді саме сховище, а не частина вашого проекту.

Ви можете виконати деякі зміни, здійснити їх іпозначте їх як v1.0, потім виконайте подальші зміни та позначте їх як v1.6. Але у будь-який час ваше дерево відображатиме стан проекту, а не колекцію тегів. Наприклад:

$ git add one.o
$ git commit -m"one point oh"
$ git tag v1.0
$ git rm one.o
$ git add hex
$ git ci -m"new version coming up"
$ git tag v1.6

Тепер версія 1.0 виглядає так:

dev/
good-stuff/
one.o

і v1.6 виглядає так:

dev/
good-stuff/
hex

Щоб відновити знімок, який ви позначили як v1.0, перевірте тег:

$ git checkout v1.0