Основные понятия интеграции с Git

В этой статье описываются основные понятия Git и процесс интеграции Git с рабочей областью Microsoft Fabric.

Разрешения

  • Чтобы использовать интеграцию Git, администратор вашей организации должен включить его администратором организации.
  • Если рабочая область и репозиторий Azure находятся в двух разных регионах, администратор клиента должен включить перекрестный экспорт. Это ограничение не применяется к GitHub.
  • Действия, которые можно выполнить в рабочей области, зависят от разрешений, которые у вас есть как в рабочей области, так и в Git, как указано в следующих разделах.

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

  • Администратор. Может выполнять любую операцию в рабочей области, ограниченную только их ролью Git.
  • Участник или участник. После подключения к рабочей области участник или участник может зафиксировать и обновить изменения в зависимости от роли Git. Для действий, связанных с подключением к рабочей области (например, подключение, отключение или переключение ветвей), обратитесь за помощью к администратору.
  • Средство просмотра. Не удается выполнить какие-либо действия. Средство просмотра не может видеть связанные с Git сведения в рабочей области.

Роли рабочей области

В следующей таблице описаны разрешения, необходимые в рабочей области Fabric для выполнения различных распространенных операций:

Операция Роль рабочей области
Подключение рабочей области к репозиторию Git Административный
Синхронизация рабочей области с репозиторием Git Административный
Отключение рабочей области от репозитория Git Административный
Переключение ветви в рабочей области (или любое изменение параметра подключения) Административный
Просмотр сведений о подключении Git Администратор, член, участник
Просмотр состояния рабочей области Git Администратор, член, участник
Обновление из Git Все следующее:

Участник рабочей области (разрешение WRITE для всех элементов)

Владелец элемента (если переключение клиента блокирует обновления для неувладельцев)

BUILD для внешних зависимостей (где применимо)
Фиксация изменений рабочей области в Git Все следующее:

Участник рабочей области (разрешение WRITE для всех элементов)

Владелец элемента (если переключение клиента блокирует обновления для неувладельцев)

BUILD для внешних зависимостей (где применимо)
Создание новой ветви Git из Структуры Административный
Ветвь в новую рабочую область Администратор, член, участник

Роли Git

В следующей таблице описаны разрешения Git, необходимые для выполнения различных распространенных операций:

Операция Разрешения Git
Подключение рабочей области к репозиторию Git Read=Allow
Синхронизация рабочей области с репозиторием Git Read=Allow
Отключение рабочей области от репозитория Git Разрешения не требуются
Переключение ветви в рабочей области (или любое изменение параметра подключения) Read=Allow (в целевом репозитории/каталоге/ветви)
Просмотр сведений о подключении Git Чтение или нет
Просмотр состояния рабочей области Git Read=Allow
Обновление из Git Read=Allow
Фиксация изменений рабочей области в Git Read=Allow
Участие=Разрешить
Политика ветви должна разрешить прямую фиксацию
Создание новой ветви Git из Структуры Role=Write
Create branch=Allow
Ветвь в новую рабочую область Read=Allow
Create branch=Allow

Подключение и синхронизация

Только администратор рабочей области может подключить рабочую область к репозиторию Git, но после подключения любой пользователь с разрешениями может работать в рабочей области. Если вы не являетесь администратором, обратитесь к администратору за помощью к подключению.

При подключении рабочей области к Git Структура синхронизируется между двумя расположениями, чтобы они имели одинаковое содержимое. При первоначальной синхронизации, если рабочая область или ветвь Git пуста, а другая содержит содержимое, содержимое копируется из расположения nonempty в пустой. Если в рабочей области и ветви Git есть содержимое, необходимо решить, в каком направлении должна идти синхронизация.

  • При фиксации рабочей области в ветви Git все поддерживаемые содержимое рабочей области экспортируется в Git и перезаписывает текущее содержимое Git.
  • При обновлении рабочей области с содержимым Git содержимое рабочей области перезаписывается и вы теряете содержимое рабочей области. Так как ветвь Git всегда может быть восстановлена на предыдущем этапе, а рабочая область не может, если выбрать этот вариант, вам будет предложено подтвердить.

Снимок экрана: диалоговое окно с запросом направления синхронизации, если Git и рабочая область содержат содержимое.

Если вы не выбираете, какое содержимое нужно синхронизировать, вы не сможете продолжить работу.

Снимок экрана: уведомление о том, что вы не сможете продолжать работать, пока рабочая область не будет синхронизирована.

Подключение к общей рабочей области

При попытке подключиться к рабочей области, которая уже подключена к Git, может появиться следующее сообщение:

Снимок экрана: сообщение об ошибке, указывающее yo для входа в учетную запись Git.

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

Снимок экрана: вкладка

Состояние Git

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

Снимок экрана: элементы в рабочей области с указанным состоянием Git.

Каждый элемент имеет одно из следующих состояний:

  • Синхронизирован (элемент совпадает с рабочей областью и ветвью Git)
  • Конфликт (элемент был изменен как в рабочей области, так и в ветви Git)
  • Неподдерживаемый элемент
  • Незафиксированные изменения в рабочей области
  • Обновление, необходимое для Git
  • Элемент идентичен в обоих местах, но его необходимо обновить до последней фиксации.

Сведения о синхронизации

Если вы подключены, в нижней части экрана отображаются следующие сведения:

  • Подключенная ветвь
  • Время последней синхронизации
  • Ссылка на последнюю фиксацию, с которую синхронизируется рабочая область

Снимок экрана: сведения о синхронизации, отображаемые в нижней части экрана при подключении к Git.

Область управления версиями

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

Снимок экрана: значок системы управления версиями, в котором изменены ноль элементов.

Щелкните значок элемента управления версиями, чтобы открыть панель управления версиями .

Панель управления версиями содержит три вкладки на стороне:

Фиксации и обновления

При внесении изменений в рабочую область или ветвь Git значок системы управления версиями показывает количество элементов, которые отличаются. Щелкните значок системы управления версиями, чтобы открыть панель управления версиями.

Панель фиксации и обновления содержит два раздела.

Изменения показывают количество измененных элементов в рабочей области и должны быть зафиксированы в Git.
Обновления показывают количество элементов, которые были изменены в ветви Git и должны быть обновлены в рабочей области.

В каждом разделе измененные элементы отображаются со значком, указывающим состояние:

  • Новые функции
  • модифицированный
  • уничтоженный
  • конфликт

Кнопка "Обновить" в верхней части панели обновляет список изменений и обновлений.

Снимок экрана: панель управления версиями с состоянием измененных элементов.

Commit

  • Элементы в рабочей области, которые были изменены, перечислены в разделе "Изменения ". При наличии нескольких измененных элементов можно выбрать элементы для фиксации в ветви Git.
  • Если в ветви Git были сделаны обновления, фиксации будут отключены, пока не обновите рабочую область.

Обновить

  • В отличие от фиксации и отмены, команда Update всегда обновляет всю ветвь и синхронизируется с последней фиксацией. Не удается выбрать определенные элементы для обновления.
  • Если изменения были внесены в рабочую область и в ветви Git на том же элементе, обновления отключаются до устранения конфликта.

Дополнительные сведения о фиксации и обновлении. Узнайте больше о процессе обновления и о том, как устранить конфликты.

Ветви

Вкладка "Ветви" панели управления версиями позволяет управлять ветвями и выполнять связанные с филиалами действия. В нем есть два основных раздела:

  • Действия, которые можно выполнить в текущей ветви:

    • Ветвь в новую рабочую область (любая роль): создает новую рабочую область и новую ветвь на основе последней фиксации ветви, подключенной к текущей рабочей области. Он подключается к новой рабочей области и новой ветви.
    • Вы можете извлечь новую ветвь (должен быть администратором рабочей области): создает новую ветвь на основе последней синхронизированной фиксации в рабочей области и изменяет подключение Git в текущей рабочей области. Он не изменяет содержимое рабочей области.

    Снимок экрана: вкладка

  • Связанные ветви.
    На вкладке "Ветви" также есть список связанных рабочих областей, на которые можно выбрать и переключиться. Связанная рабочая область — это одна с теми же свойствами подключения, что и текущая ветвь, например та же организация, проект, репозиторий и папка Git.
    Это позволяет перейти к рабочим областям, подключенным к другим ветвям, связанным с контекстом текущей работы, без необходимости искать их в списке рабочих областей Fabric.
    Щелкните элемент в списке, чтобы открыть соответствующую рабочую область.

    Снимок экрана: список связанных ветвей, на которые пользователь может перейти.

Дополнительные сведения см. в разделе об ограничениях для ветвления.

Сведения об учетной записи

На вкладке "Сведения об учетной записи" отображаются сведения о учетной записи GitHub, к которому подключен пользователь. В нем есть два раздела. В верхнем разделе показаны поставщик Git и имя учетной записи. В нижнем разделе показаны репозиторий и ветвь, к которым подключена рабочая область. В настоящее время эта вкладка доступна только для рабочих областей, подключенных к GitHub.

Сведения об учетной записи GitHub:

  • Сведения о учетной записи Git

    • Provider
    • Имя учетной записи
  • Репозиторий Git

  • Ветвь

Снимок экрана: вкладка

Рекомендации и ограничения

Общие ограничения интеграции Git

  • Метод проверки подлинности в Fabric должен быть не менее строгим, чем метод проверки подлинности для Git. Например, если Git требует многофакторной проверки подлинности, Структура должна также требовать многофакторную проверку подлинности.
  • В настоящее время наборы данных Power BI, подключенные к службам Analysis Services, не поддерживаются.
  • Независимые облака не поддерживаются.
  • Учетная запись Azure DevOps должна быть зарегистрирована для того же пользователя, который использует рабочую область Fabric.
  • Администратор клиента должен включить перекрестный экспорт , если рабочая область и репозиторий Git находятся в двух разных географических регионах.
  • Размер фиксации ограничен 125 МБ.

Ограничения GitHub Enterprise

Некоторые параметры GitHub Enterprise не поддерживаются. Например:

  • Список разрешенных IP-адресов
  • Частная сеть

Ограничения рабочей области

  • Только администратор рабочей области может управлять подключениями к репозиторию Git, таким как подключение, отключение или добавление ветви.
    После подключения любой пользователь с разрешением может работать в рабочей области.
  • Структура папок рабочей области не отражается в репозитории Git. Элементы рабочей области в папках экспортируются в корневой каталог.

Ограничения ветвей и папок

  • Максимальная длина имени ветви составляет 244 символа.
  • Максимальная длина полного пути для имен файлов составляет 250 символов. Сбой длинных имен.
  • Максимальный размер файла составляет 25 МБ.
  • Вы не можете скачать отчет или набор данных как PBIX из службы после их развертывания с интеграцией Git.
  • При именовании папки в Git логический идентификатор (GUID) добавляется в качестве префикса перед типом, если отображаемое имя элемента:
    • Имеет более 256 символов
    • Заканчивается с . или пробелом
    • Содержит любой из следующих символов: " / : ? < > \ * |

Ограничения ветвления

  • Для ветвления требуются разрешения, перечисленные в таблице разрешений.
  • Для этого действия должна быть доступна емкость.
  • Все ограничения именования рабочей области и ветви применяются при ветвлениях в новую рабочую область.
  • При ветвления создается новая рабочая область, а параметры из исходной рабочей области не копируются. Настройте все параметры или определения, чтобы новая рабочая область соответствовала политикам вашей организации.
  • В новой рабочей области доступны только поддерживаемые элементы Git.
  • В списке связанных ветвей отображаются только ветви и рабочие области, которые у вас есть разрешение на просмотр.
  • Интеграция Git должна быть включена.

Ограничения синхронизации и фиксации

  • Одновременно можно синхронизировать только в одном направлении. Вы не можете зафиксировать и обновить одновременно.
  • Метки конфиденциальности не поддерживаются и экспорт элементов с метками конфиденциальности могут быть отключены. Чтобы зафиксировать элементы с метками конфиденциальности без метки конфиденциальности, обратитесь к администратору за помощью.
  • Работает с ограниченными элементами. Неподдерживаемые элементы в папке игнорируются.
  • Дедупликация имен запрещена. Даже если Power BI разрешает дублирование имен, обновление, фиксация или отмена действия завершается ошибкой.
  • B2B не поддерживается.
  • Разрешение конфликтов частично выполняется в Git.
  • Во время процесса фиксации в Git служба Fabric удаляет файлы в папке элемента, которая не входит в определение элемента. Не связанные файлы, не входящие в папку элемента, не удаляются.
  • После фиксации изменений вы можете заметить некоторые непредвиденные изменения элемента, который вы не сделали. Эти изменения семантически незначительны и могут произойти по нескольким причинам. Например:
    • Изменение файла определения элемента вручную. Эти изменения допустимы, но могут отличаться от того, что сделано через редакторы. Например, если вы переименовываете столбец семантической модели в Git и импортируете это изменение в рабочую область, при следующем фиксации изменений в семантической модели файл bim будет регистрироваться как измененный и измененный столбец, отложенный к задней части массива columns . Это связано с тем, что подсистема AS, создающая файлы bim , отправляет переименованные столбцы в конец массива. Это изменение не влияет на способ работы элемента.
    • Фиксация файла, использующего разрывы строк CRLF . Служба использует разрывы строк LF (веб-канала строк). Если у вас есть файлы элементов в репозитории Git с разрывами строк CRLF, при фиксации из службы эти файлы изменяются на LF. Например, если открыть отчет на рабочем столе, сохраните проект PBIP и отправьте его в Git с помощью CRLF.
  • Обновление семантической модели с помощью API расширенного обновления вызывает дифф Git после каждого обновления.