Подтвердить что ты не робот

Git - псевдоним ветки?

Я изучаю переключение с starteam на git.

В настоящее время в starteam мы используем "плавающие виды" со специальными именами. Эти плавающие представления в основном работают как псевдонимы. Поэтому мы можем указать конкретный псевдоним для проверки, и мы получим ветку, которую мы сейчас тестируем на модели.

Как это сделать в git? В основном это организовано нашими веткими:

Это все ветки

master (stable view)
   |  - Branch 2012.05.01
   |          | - Project 1
   |          | - Project 2
   |          | - model [floating view / alias to Branch 2012.05.01]
   |
   |  - Branch 2012.07.11   (these would also have various child views for projects)
   |  - Branch 2012.10.17

(Отрасль 2012.05.01 будет объединена, чтобы справиться, когда тестирование модели завершено)

В наших автоматизированных сценариях (ant) для запуска развертывания нашей модели мы просто проверяем наш филиал под названием "модель". Таким образом, нам не нужно менять наши скрипты, поскольку мы меняем, какой из ветвей мы являемся модельным тестированием, и выяснение того, какое представление мы тестируем на модели, так же просто, как выяснить, в какой ветки ссылается ветвь "model".

Есть ли способ сделать что-то подобное в git?

Изменить: люди здесь путаются.

  • Мне нужен псевдоним ветки. Ветвь, а не фиксация.
  • "Филиал 2012.05.01" означает филиал, который должен быть отправлен в 2012.05.01, это не означает момент времени 2012.05.01.
  • Мне нужен псевдоним для Branch 2012.05.01. Филиал 2012.05.01 является филиалом интеграции, он постоянно модифицируется. Но я не хочу ссылаться на него как на отделение 2012.05.01, я хочу ссылаться на него как на "модель". Таким образом, я могу изменить свой псевдоним на "Branch 2012.07.11", и он получит самый последний код из этой ветки без изменения кода проверки script.
4b9b3361

Ответ 1

Пожалуйста, смотрите здесь: fooobar.com/questions/109107/...

Вы можете переименовать магистральную ветвь ветки, как предложил Грег, или вы может также создать туловище, которое является символической ссылкой на мастера чтобы оба пользователя git и svn имели "главную" ветвь, что они используются.

git symbolic-ref refs/heads/trunk refs/heads/master

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

Ответ 2

Git не поддерживает псевдонимы для ветвей.

Это означает, что вам нужно будет полагаться на переменные в script, чтобы сделать model = "branch.2012.10.17" или что-то в этом роде. Ваш script будет делать что-то вроде этого:

git checkout $model

Я оставляю остальную часть этого ответа здесь, где мы пришли из этой дискуссии:

Очень активное обсуждение стратегии ветвления можно найти здесь: http://dymitruk.com/blog/2012/02/05/branch-per-feature/

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

Посмотрите на git как на то, что делает снимок рабочего каталога, а не как историю папок.

progit.org/book объясняет режиссерский ациклический график, в котором хранится история. Все ссылки - это всего лишь то, что указывает на узлы в нем. Это должно разъяснить, как вы хотите создать свой рабочий процесс.

создать начальный тег - version2.1. оттуда сделайте свой int-version2.1 (используя nubmers вместо дат для краткости). Любая работа, которую вы начинаете, начинается с тега версии 2.1. объединить работу в int-version2.1. Другие будут делать то же самое.

Ответ 3

В случае, если вам нужна ветка для каждой функции - ответ Адама Димитрука верен, Но в случае, если вам нужно сохранить привязку к отдельным ветвям (в зависимости от времени), без их изменения вы можете использовать теги git.

Я использовал теги для состояний хранилища для каждого выпуска prod.