Основные понятия интеграции с Git
В этой статье описываются основные понятия Git и процесс интеграции Git с рабочей областью Microsoft Fabric.
Разрешения
- Чтобы использовать интеграцию Git, администратор вашей организации должен включить его администратором организации.
- Если рабочая область и репозиторий Azure находятся в двух разных регионах, администратор клиента должен включить перекрестный экспорт. Это ограничение не применяется к GitHub.
- Действия, которые можно выполнить в рабочей области, зависят от разрешений, которые у вас есть как в рабочей области, так и в Git, как указано в следующих разделах.
Необходимые разрешения Git для популярных действий
В следующем списке показано, какие роли рабочей области могут выполнять в зависимости от разрешений в репозитории Git:
- Администратор. Может выполнять любую операцию в рабочей области, ограниченную только их ролью Git.
- Участник или участник. После подключения к рабочей области участник или участник может зафиксировать и обновить изменения в зависимости от роли Git. Для действий, связанных с подключением к рабочей области (например, подключение, отключение или переключение ветвей), обратитесь за помощью к администратору.
- Средство просмотра. Не удается выполнить какие-либо действия. Средство просмотра не может видеть связанные с Git сведения в рабочей области.
Необходимые разрешения Fabric для популярных действий
Роли рабочей области
В следующей таблице описаны разрешения, необходимые в рабочей области 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
После подключения рабочая область отображает столбец состояния 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, не поддерживаются.
- Рабочие области с установленными приложениями-шаблонами не могут быть подключены к Git.
- Независимые облака не поддерживаются.
- Учетная запись 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.
- Изменение файла определения элемента вручную. Эти изменения допустимы, но могут отличаться от того, что сделано через редакторы. Например, если вы переименовываете столбец семантической модели в Git и импортируете это изменение в рабочую область, при следующем фиксации изменений в семантической модели файл bim будет регистрироваться как измененный и измененный столбец, отложенный к задней части массива
- Обновление семантической модели с помощью API расширенного обновления вызывает дифф Git после каждого обновления.