в git, какой лучший способ сохранить снимки разных версий? - PullRequest
2 голосов
/ 23 декабря 2011

с использованием репозитория git, ветки от v1.0 до v1.6.

хотел бы хранить последние версии каждой версии в отдельном каталоге:

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

Каков наилучший способ сделать это?

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

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

ПРИМЕЧАНИЕ: использовал «тег», когда должен был произойти «ветвь» - mea culpa

Ответы [ 2 ]

3 голосов
/ 23 декабря 2011

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

dev/
  good-stuff/

В каталоге dev / есть также каталог .git /, но это действительно сам репозиторий, а не часть вашего проекта.

Вы можете внести некоторые изменения, зафиксировать их и отметить их как 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

Теперь v1.0 выглядит так:

dev/
  good-stuff/
  one.o

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

dev/
  good-stuff/
  hex

Чтобы восстановить снимок, помеченный вами как v1.0, проверьте тег:

$ git checkout v1.0
2 голосов
/ 23 декабря 2011

Теги действительно не должны обновляться.Они должны быть фиксированными точками в истории.Если вы делаете постоянные изменения, вы должны использовать ветку для этого.Если вы сделаете это, вам не нужно хранить папки вне git (если вы думаете об этом, то побеждаете цель vcs).

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...