191 документ
← К списку

Панель «Репозитории Git»

страница

Панель Репозитории Git — это главный инструмент, который позволяет управлять одновременно несколькими репозиториями.

Эта панель входит в стандартный состав перспективы Git.

Открыть панель «Репозитории Git»

Нажмите Окно > Показать панель > Другое… > Git > Репозитории Git в главном меню.

1C:EDT заполняет эту панель автоматически, например при клонировании репозиториев. Также вы можете вручную добавить нужные вам репозитории в эту панель.

Структура информации

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

Внутри репозитория содержится несколько узлов. Например, это узлы Ветки и Метки, содержащие в себе все ветки и все метки, которые есть в репозитории.

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

  • В узле Локально вместо refs/heads/master отображается master;
  • В узле Удаленное отслеживание вместо refs/remotes/origin/master отображается origin/master.

Аналогичным образом в узле Метки имена сокращаются за счет исключения префикса refs/tags/.

Узел Ссылки содержит остальные ссылки, которые не являются ветками или метками. Например, это такие часто используемые ссылки как HEAD и FETCH_HEAD.

Узел Рабочий каталог содержит каталог файловой системы, в котором находится разрабатываемое приложение.

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

Репозитории можно объединять в группы.

Условные обозначения

  • — группа репозиториев, узел Ссылки или рабочий каталог;
  • — репозиторий, подмодуль или узел Удаленные репозитории;
  • — ветка или группа Ветки;
  • — текущая ветка (ветка, извлеченная в рабочий каталог);
  • — метка или группа Метки;
  • — ссылка;
  • — ссылка, извлеченная в рабочий каталог;
  • — удаленный репозиторий;
  • — настройка получения из удаленного репозитория;
  • — настройка отправки в удаленный репозиторий;
  • — узел Подмодули.

Командная панель

  • (Добавить существующий локальный репозиторий Git) — добавляет существующий локальный репозиторий Git в панель Репозитории Git;
  • (Клонировать репозиторий Git) — полностью копирует исходный репозиторий, включая всю его историю. Для каждой локальной ветки клона автоматически создается удаленная ветка для отправки изменений в исходный репозиторий и получения изменений из него;
  • (Создать новый репозиторий Git) — создает новый локальный репозиторий;
  • (Обновить) — панель обновляется автоматически с некоторым интервалом. Эта команда позволяет обновить панель вручную, не дожидаясь автоматического обновления;
  • (Связать с редактором) — связывает панель с редактором таким образом, что они начинают работать синхронно. В панели автоматически выделяется тот элемент, который редактируется;
  • (Иерархическое отображение ветки) — включает и выключает иерархический показ веток в виде вложенных папок;
  • (Отображать последние коммиты ветки) — включает и выключает отображение последнего коммита ветки в конце ее имени;
  • (Показать меню) — открывает выпадающее меню, в котором содержатся дополнительные команды для панели;
    • Добавить репозиторий... — добавляет существующий локальный репозиторий Git в панель Репозитории Git;
    • Клонировать репозиторий... — полностью копирует исходный репозиторий, включая всю его историю. Для каждой локальной ветки клона автоматически создается удаленная ветка для отправки изменений в исходный репозиторий и получения изменений из него;
    • Создать репозиторий... — создает новый локальный репозиторий;
    • Создать группу репозиториев — создает группу репозиториев;
    • Вставить путь к репозиторию или URI — добавляет в панель существующий репозиторий по пути, содержащемуся в буфере обмена;
    • Обновить — панель обновляется автоматически с некоторым интервалом. Эта команда позволяет обновить панель вручную, не дожидаясь автоматического обновления;
    • Связать с редактором — связывает панель с редактором таким образом, что они начинают работать синхронно. В панели автоматически выделяется тот элемент, который редактируется;
    • Иерархическое представление веток — включает и выключает иерархический показ веток в виде вложенных папок;
    • Показывать последний коммит ветки — включает и выключает отображение последнего коммита ветки в конце ее имени;

Контекстное меню репозитория

  • Переключить на — переключает проект на другую ветку. Во вложенном меню для выбора предлагаются локальные ветки текущего репозитория, а также создание новой ветки и выбор из других элементов репозитория (ветки удаленного отслеживания, метки и др.);
  • Фиксировать (commit)... — открывает панель Индексирование Git для фиксации изменений проекта в локальном репозитории;
  • Спрятанные изменения (stash) — подменю содержит следующие команды:
    • Спрятать изменения... — запоминает текущие изменения, незафиксированные в локальном хранилище, и временно откладывает их, возвращая проект к состоянию, зафиксированному в локальном хранилище;
    • № <название отложенных изменений> — возвращает изменения, отложенные ранее, в рабочий каталог проекта;
  • Отправить в Upstream — отправляет изменения в удаленный репозиторий с именем origin;
  • Получить из Upstream — получает изменения из удаленного репозитория с именем origin;
  • Отправить ветку 'имя ветки'... — отправляет выбранную ветку в удаленный репозиторий. При этом можно выбрать репозиторий или создать новый, выбрать отправляемую ветку, а также настроить для нее конфигурации отправки и получения изменений из удаленного репозитория;
  • Получить и слить (pull) — получает изменения из исходного репозитория и вливает их в текущую ветку;
  • Получить и слить (pull)... — получает изменения из выбранного удаленного репозитория и вливает их в текущую ветку;
  • Удаленный репозиторий — подменю содержит следующие команды:
    • Отправить (push)... — отправляет изменения в выбранный удаленный репозиторий;
    • Отправить метки (push)... — отправляет выбранные метки в удаленный репозиторий;
    • Получить (fetch)... — получает изменения из выбранного удаленного репозитория;
  • Слить (merge)... — вливает выбранную ветку в текущую ветку;
  • Перебазировать (rebase)... — переносит изменения текущей ветки в выбранную ветку;
  • Сбросить (reset)... — отменяет изменения, выполненные в рабочем каталоге;
  • Импортировать проекты... — импортирует проекты из файловой системы или архива;
  • Переименовать ветку... — переименовывает ветку;
  • Группы репозиториев — подменю содержит следующие команды:
    • Create Repository Group — создает группу репозиториев;
    • Remove from Repository Group — возвращает репозиторий на верхний уровень;
    • Move to 'имя группы' — перемещает репозиторий в группу;
  • Включить LFS (в локальном репозитории) — не используется при разработке приложений «1С:Предприятия». Про настройку LFS читайте здесь;
  • Показать в системном проводнике — открывает ресурс в системном проводнике;
  • Показать в — подменю содержит следующие команды:
    • История — показывает коммиты репозитория в панели История;
    • Индексирование Git — показывает изменения репозитория в панели Индексирование Git;
    • Журнал ссылок Git — показывает ссылки репозитория в панели Журнал ссылок Git;
    • Свойства — показывает конфигурацию репозитория в панели Свойства. Доступен только просмотр значений;
  • Очистить рабочий каталог (git clean)... — удаляет из рабочего каталога файлы и папки, которые не находятся под версионным контролем;
  • Собрать мусор (git gc) — выполняет ряд задач по обслуживанию текущего репозитория, таких как сжатие ревизий файлов (для уменьшения дискового пространства и повышения производительности), удаление недоступных объектов, которые могли быть созданы в результате предыдущих фиксаций, упаковка ссылок, сокращение журнала ссылок и др. Эту команду можно использовать, например, для однократной оптимизации и очистки репозитория после неоптимального массового импорта;
  • Удалить репозиторий из панели — исключает репозиторий из списка;
  • Удалить репозиторий... — удаляет репозиторий;
  • Добавить подмодуль... — добавляет в репозиторий новый подмодуль;
  • Скопировать путь в буфер обмена — копирует полный путь к этому ресурсу в буфер обмена;
  • Свойства — открывает конфигурацию репозитория в панели Свойства. Доступно изменение значений;

Контекстное меню удаленного репозитория

  • Создать удаленный репозиторий... — создает удаленный репозиторий;
  • Отправить (push) — отправляет изменения в этот удаленный репозиторий;
  • Получить (fetch) — получает изменения из этого удаленного репозитория;
  • Настроить получение... — позволяет настроить параметры получения из удаленного репозитория;
  • Настроить отправку... — позволяет настроить параметры отправки в удаленный репозиторий;
  • Удалить удаленный репозиторий — исключает удаленный репозиторий из списка.
  • Показать в — открывает удаленный репозиторий в панелях История или Свойства;

Контекстное меню группы репозиториев

  • Переключить на — переключает проект на другую ветку. Во вложенном меню для выбора предлагаются локальные ветки текущего репозитория, а также создание новой ветки и выбор из других элементов репозитория (ветки удаленного отслеживания, метки и др.);
  • Удалить группу — удаляет группу репозиториев;
  • Переименовать группу — переименовывает группу репозиториев;
  • Получить и слить (pull) — получает изменения из исходного репозитория и вливает их в текущую ветку;
  • Добавить репозиторий... — добавляет существующий локальный репозиторий Git в панель Репозитории Git;
  • Клонировать репозиторий... — полностью копирует исходный репозиторий, включая всю его историю. Для каждой локальной ветки клона автоматически создается удаленная ветка для отправки изменений в исходный репозиторий и получения изменений из него;
  • Создать репозиторий... — создает новый локальный репозиторий;
  • Вставить путь к репозиторию или URI — добавляет в панель существующий репозиторий по пути, содержащемуся в буфере обмена;

Контекстное меню ветки

  • Извлечь — переключает проект на эту ветку;
  • Отправить ветку... — отправляет выбранную ветку в удаленный репозиторий. При этом можно выбрать репозиторий или создать новый, выбрать отправляемую ветку, а также настроить для нее конфигурации отправки и получения изменений из удаленного репозитория;
  • Создать ветку... — создает новую ветку средствами Git (без связи с информационной базой);
  • Переименовать ветку... — переименовывает ветку;
  • Настроить ветку... — изменяет конфигурацию исходного репозитория для ветки;
  • Удалить ветку... — удаляет ветку стандартными средствами Git;
  • Синхронизировать с рабочим каталогом — синхронизирует ветку с рабочим каталогом;
  • Сравнить с рабочим деревом — Не используется при разработке приложений «1С:Предприятия». Сравнивает ветку с рабочим каталогом;
  • Слить (merge) — вливает эту ветку в текущую ветку;
  • Слить (merge)... — вливает выбранную ветку в текущую ветку;
  • Перебазировать (rebase) — перебазирует изменения текущей ветки в эту ветку;
  • Сбросить (reset)... — отменяет изменения, выполненные в рабочем каталоге;
    • Мягко-soft (только HEAD) — указатель HEAD будет указывать на этот коммит, а индекс и рабочий каталог останутся без изменений;
    • Средне-mixed (HEAD и индекс) — указатель HEAD будет указывать на этот коммит, индекс будет соответствовать этому коммиту, а рабочий каталог останется без изменений;
    • Жестко-hard (HEAD, индекс и рабочий каталог) — указатель HEAD будет указывать на этот коммит, индекс и рабочий каталог будут соответствовать этому коммиту;
  • Открыть коммит — открывает коммит в панели просмотра;
  • Показать в — открывает ветку в панели Журнал ссылок Git, в панелях История или Свойства;

Контекстное меню двух выделенных веток

  • Synchronize with Each Other — синхронизирует одну ветку с другой;
  • Сравнить друг с другом — Не используется при разработке приложений «1С:Предприятия». Сравнивает ветки друг с другом;
  • Compare with Each Other in Tree — Не используется при разработке приложений «1С:Предприятия». Сравнивает ветки в панели Сравнение в дереве Git;
  • Show Unified Diff — сравнивает ветки с помощью команды git-diff. Результат выводится в текстовый файл;
  • Open All in Commit Viewer — открывает выделенные коммиты в панели просмотра;

Контекстное меню метки

  • Создать метку (tag)... — создает метку;
  • Отправить метки (push)... — отправляет выбранные метки в удаленный репозиторий;
  • Filter Tags... — позволяет показать в дереве только те метки, которые содержат введенную подстроку;
  • Извлечь — переключает проект на эту ветку;
  • Отправить метку... — отправляет метку в удаленный репозиторий;
  • Создать ветку... — создает новую ветку средствами Git (без связи с информационной базой);
  • Удалить метку (tag)... — удаляет метку;
  • Синхронизировать с рабочим каталогом — синхронизирует ветку с рабочим каталогом;
  • Сравнить с рабочим деревом — Не используется при разработке приложений «1С:Предприятия». Сравнивает ветку с рабочим каталогом;
  • Слить (merge) — вливает эту ветку в текущую ветку;
  • Сбросить (reset)... — отменяет изменения, выполненные в рабочем каталоге;
  • Открыть коммит — открывает коммит в панели просмотра;
  • Показать в — открывает ветку в панели Журнал ссылок Git, в панелях История или Свойства;

Контекстное меню узла «Подмодули»

  • Добавить подмодуль... — добавляет в репозиторий новый подмодуль;
  • Синхронизировать подмодуль — синхронизирует все подмодули, содержащиеся в репозитории;
  • Обновить подмодуль — обновляет все подмодули, содержащиеся в репозитории;

Контекстное меню рабочего каталога

  • Добавить в индекс — добавляет в индекс все изменения, выполненные в рабочем каталоге;
  • Импортировать проекты... — импортирует проекты из файловой системы или архива;
  • Показать в системном проводнике — открывает ресурс в системном проводнике;
  • Очистить рабочий каталог (git clean)... — удаляет из рабочего каталога файлы и папки, которые не находятся под версионным контролем;
  • Скопировать путь в буфер обмена — копирует полный путь к этому ресурсу в буфер обмена;
  • Сравнить — подменю содержит следующие команды:
    • HEAD-ревизия — Не используется при разработке приложений «1С:Предприятия». Сравнивает этот ресурс в рабочем каталоге и в последнем коммите;
    • Ветка, метка или ссылка... — Не используется при разработке приложений «1С:Предприятия». Сравнивает рабочий каталог с выбранной веткой, меткой или ссылкой;
    • Коммит... — Не используется при разработке приложений «1С:Предприятия». Сравнивает рабочий каталог с выбранным коммитом;

Работа со списком репозиториев

Иерархическое представление веток

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

Чтобы включить иерархический показ веток, нажмите (Иерархическое отображение ветки) в командной панели.

Отображение последнего коммита ветки

Стандартно в конце имени ветки 1C:EDT показывает имя последнего коммита этой ветки, это стандартное поведение.

Чтобы отключить показ последнего коммита нажмите (Отображать последние коммиты ветки) в командной панели.

Группы репозиториев

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

Вложенные группы репозиториев не поддерживаются.

Создать группу репозиториев

Создать группу репозиториев можно несколькими способами:

  • В командной панели нажмите (Показать меню) - Создать группу репозиториев;
  • В контекстном меню репозитория нажмите Группы репозиториев Create Repository Group.

Переместить репозиторий в группу

Переместить репозиторий в группу можно несколькими способами:

  • Перетащите репозиторий в нужную группу;
  • В контекстном меню репозитория нажмите Группы репозиториев Move to 'имя группы'.

Вернуть репозиторий на верхний уровень

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

  • Перетащите репозиторий на белое неиспользуемое пространство панели;
  • В контекстном меню репозитория нажмите Группы репозиториев Remove from Repository Group.

Переименовать группу репозиториев

Нажмите Переименовать группу в контекстном меню.

Удалить группу репозиториев

Нажмите Удалить группу в контекстном меню.

Содержащиеся в группе репозитории не удаляются, они возвращаются на верхний уровень.

На уровень выше: Репозитории