Podstawowe pojęcia dotyczące integracji z usługą Git
W tym artykule opisano podstawowe pojęcia dotyczące usługi Git i proces integracji usługi Git z obszarem roboczym usługi Microsoft Fabric.
Uprawnienia
- Aby można było korzystać z integracji z usługą Git, administrator organizacji musi ją włączyć przez administratora organizacji.
- Jeśli obszar roboczy i repozytorium platformy Azure znajdują się w dwóch różnych regionach, administrator dzierżawy musi włączyć eksportowanie między obszarami geograficznymi. To ograniczenie nie ma zastosowania do usługi GitHub.
- Akcje, które można wykonać w obszarze roboczym, zależą od uprawnień, które masz w obszarze roboczym i usłudze Git, jak pokazano w następnych sekcjach.
Wymagane uprawnienia usługi Git dla popularnych akcji
Poniższa lista zawiera różne role obszaru roboczego w zależności od ich uprawnień w repozytorium Git:
- Administrator: może wykonać dowolną operację w obszarze roboczym, ograniczoną tylko przez rolę usługi Git.
- Członek/współautor: po nawiązaniu połączenia z obszarem roboczym członek/współautor może zatwierdzać i aktualizować zmiany w zależności od roli usługi Git. W przypadku akcji związanych z połączeniem obszaru roboczego (na przykład nawiązywania połączenia, rozłączania lub przełączania gałęzi) skontaktuj się z administratorem.
- Osoba przeglądająca: Nie można wykonać żadnych akcji. Przeglądarka nie widzi żadnych informacji związanych z usługą Git w obszarze roboczym.
Wymagane uprawnienia sieci szkieletowej do popularnych akcji
Role obszaru roboczego
W poniższej tabeli opisano uprawnienia wymagane w obszarze roboczym Sieć szkieletowa do wykonywania różnych typowych operacji:
Operacja | Rola obszaru roboczego |
---|---|
Łączenie obszaru roboczego z repozytorium Git | Administrator |
Synchronizowanie obszaru roboczego z repozytorium Git | Administrator |
Odłącz obszar roboczy od repozytorium Git | Administrator |
Przełącz gałąź w obszarze roboczym (lub dowolną zmianę ustawienia połączenia) | Administrator |
Wyświetlanie szczegółów połączenia z usługą Git | Administrator, członek, współautor |
Zobacz obszar roboczy "Stan usługi Git" | Administrator, członek, współautor |
Aktualizacja z usługi Git | Wszystkie następujące elementy: Współautor w obszarze roboczym (uprawnienie DO ZAPISU we wszystkich elementach) Właściciel elementu (jeśli przełącznik dzierżawy blokuje aktualizacje dla osób niebędących właścicielami) TWORZENIE na zależnościach zewnętrznych (jeśli ma to zastosowanie) |
Zatwierdzanie zmian obszaru roboczego w usłudze Git | Wszystkie następujące elementy: Współautor w obszarze roboczym (uprawnienie DO ZAPISU we wszystkich elementach) Właściciel elementu (jeśli przełącznik dzierżawy blokuje aktualizacje dla osób niebędących właścicielami) TWORZENIE na zależnościach zewnętrznych (jeśli ma to zastosowanie) |
Tworzenie nowej gałęzi Git z poziomu sieci szkieletowej | Administrator |
Rozgałęzij się w nowym obszarze roboczym | Administrator, członek, współautor |
Role usługi Git
W poniższej tabeli opisano uprawnienia usługi Git potrzebne do wykonywania różnych typowych operacji:
Operacja | Uprawnienia usługi Git |
---|---|
Łączenie obszaru roboczego z repozytorium Git | Read=Allow |
Synchronizowanie obszaru roboczego z repozytorium Git | Read=Allow |
Odłącz obszar roboczy od repozytorium Git | Nie są potrzebne żadne uprawnienia |
Przełącz gałąź w obszarze roboczym (lub dowolną zmianę ustawienia połączenia) | Read=Allow (w repozytorium docelowym/katalogu/gałęzi) |
Wyświetlanie szczegółów połączenia z usługą Git | Odczyt lub Brak |
Zobacz obszar roboczy "Stan usługi Git" | Read=Allow |
Aktualizacja z usługi Git | Read=Allow |
Zatwierdzanie zmian obszaru roboczego w usłudze Git | Read=Allow Współtworzenie =Zezwalaj zasady gałęzi powinny zezwalać na bezpośrednie zatwierdzanie |
Tworzenie nowej gałęzi Git z poziomu sieci szkieletowej | Role=Write Utwórz gałąź =Zezwalaj |
Rozgałęzij się w nowym obszarze roboczym | Read=Allow Utwórz gałąź =Zezwalaj |
Nawiązywanie połączenia i synchronizowanie
Tylko administrator obszaru roboczego może połączyć obszar roboczy z repozytoriami Git, ale po nawiązaniu połączenia każda osoba z uprawnieniami może pracować w obszarze roboczym. Jeśli nie jesteś administratorem, poproś administratora o pomoc dotyczącą nawiązywania połączenia.
Po połączeniu obszaru roboczego z usługą Git sieć szkieletowa synchronizuje się między dwiema lokalizacjami, aby miały tę samą zawartość. Podczas tej początkowej synchronizacji, jeśli obszar roboczy lub gałąź Usługi Git jest pusta, podczas gdy druga ma zawartość, zawartość jest kopiowana z lokalizacji nonempty do pustej. Jeśli zarówno obszar roboczy, jak i gałąź Usługi Git mają zawartość, musisz zdecydować, w jakim kierunku powinna iść synchronizacja.
- Jeśli zatwierdzisz obszar roboczy w gałęzi Git, cała obsługiwana zawartość obszaru roboczego zostanie wyeksportowana do usługi Git i zastąpi bieżącą zawartość usługi Git.
- Jeśli zaktualizujesz obszar roboczy przy użyciu zawartości usługi Git, zawartość obszaru roboczego zostanie zastąpiona i utracisz zawartość obszaru roboczego. Ponieważ gałąź Usługi Git zawsze można przywrócić do poprzedniego etapu, gdy obszar roboczy nie może, jeśli wybierzesz tę opcję, zostanie wyświetlony monit o potwierdzenie.
Jeśli nie wybierzesz zawartości do zsynchronizowania, nie możesz kontynuować pracy.
Nawiązywanie połączenia z udostępnionym obszarem roboczym
Jeśli spróbujesz nawiązać połączenie z obszarem roboczym, który jest już połączony z usługą Git, może zostać wyświetlony następujący komunikat:
Przejdź do karty Konta po prawej stronie panelu sterowania Źródło, wybierz konto i połącz się z nim.
Stan usługi Git
Po nawiązaniu połączenia obszar roboczy wyświetla kolumnę Stanu usługi Git, która wskazuje stan synchronizacji każdego elementu w obszarze roboczym w odniesieniu do elementów w gałęzi zdalnej.
Każdy element ma jeden z następujących stanów:
- Zsynchronizowane (element jest taki sam w obszarze roboczym i gałęzi Git)
- Konflikt (element został zmieniony zarówno w obszarze roboczym, jak i w gałęzi Git)
- Nieobsługiwany element
- Niezatwierdzone zmiany w obszarze roboczym
- Wymagana aktualizacja z usługi Git
- Element jest identyczny w obu miejscach, ale musi zostać zaktualizowany do ostatniego zatwierdzenia
Informacje o synchronizacji
Jeśli masz połączenie, w dolnej części ekranu pojawią się następujące informacje:
- Połączona gałąź
- Czas ostatniej synchronizacji
- Łącze do ostatniego zatwierdzenia, z którymi jest synchronizowany obszar roboczy
Okienko kontroli źródła
W górnej części ekranu znajduje się ikona kontrolki Źródło. Przedstawia liczbę elementów, które różnią się w obszarze roboczym i gałęzi Git. Po wprowadzeniu zmian w obszarze roboczym lub gałęzi Git numer jest aktualizowany. Po zsynchronizowaniu obszaru roboczego z gałęzią Git ikona kontroli źródła wyświetla wartość 0.
Wybierz ikonę Kontrolka źródła, aby otworzyć panel sterowania Źródło.
Okienko kontroli źródła ma trzy karty po stronie:
Zatwierdzenia i aktualizacje
Po wprowadzeniu zmian w obszarze roboczym lub gałęzi Git ikona kontroli źródła pokazuje liczbę różnych elementów. Wybierz ikonę kontroli źródła, aby otworzyć panel sterowania Źródło.
Panel Commit and update (Zatwierdzanie i aktualizowanie ) zawiera dwie sekcje.
Zmiany pokazują liczbę elementów, które zostały zmienione w obszarze roboczym i muszą zostać zatwierdzone w usłudze Git.
Aktualizacje pokazują liczbę elementów zmodyfikowanych w gałęzi Git i należy je zaktualizować do obszaru roboczego.
W każdej sekcji zmienione elementy są wyświetlane z ikoną wskazującą stan:
- Nowy
- Zmodyfikowano
- Usunięte
- konflikt
Przycisk Odśwież w górnej części panelu aktualizuje listę zmian i aktualizacji.
Zatwierdzenie
- Elementy w obszarze roboczym, które zostały zmienione, są wymienione w sekcji Zmiany . Jeśli istnieje więcej niż jeden zmieniony element, możesz wybrać elementy, które mają być zatwierdzane w gałęzi Git.
- Jeśli w gałęzi Git wprowadzono aktualizacje, zatwierdzenia są wyłączone do momentu zaktualizowania obszaru roboczego.
Zaktualizuj
- W przeciwieństwie do zatwierdzania i cofania, polecenie Aktualizuj zawsze aktualizuje całą gałąź i synchronizuje się z najnowszym zatwierdzeniem. Nie można wybrać określonych elementów do zaktualizowania.
- Jeśli zmiany zostały wprowadzone w obszarze roboczym i w gałęzi Git w tym samym elemencie, aktualizacje są wyłączone do momentu rozwiązania konfliktu.
Dowiedz się więcej o tym, jak zatwierdzać i aktualizować. Przeczytaj więcej na temat procesu aktualizacji i sposobu rozwiązywania konfliktów.
Odgałęzienia
Karta Gałęzie w panelu sterowania Źródło umożliwia zarządzanie gałęziami i wykonywanie akcji powiązanych z gałęzią. Zawiera ona dwie główne sekcje:
Akcje, które można wykonać w bieżącej gałęzi:
- Rozgałęzij do nowego obszaru roboczego (dowolna rola): tworzy nowy obszar roboczy i nową gałąź na podstawie ostatniego zatwierdzenia gałęzi połączonej z bieżącym obszarem roboczym. Łączy się z nowym obszarem roboczym i nową gałęzią.
- Wyewidencjonuj nową gałąź (musi być administratorem obszaru roboczego): tworzy nową gałąź na podstawie ostatniego zsynchronizowanego zatwierdzenia w obszarze roboczym i zmienia połączenie usługi Git w bieżącym obszarze roboczym. Nie zmienia zawartości obszaru roboczego.
Powiązane gałęzie.
Karta Gałęzie zawiera również listę powiązanych obszarów roboczych, do których można wybrać i przełączyć się. Powiązany obszar roboczy jest jednym z tych samych właściwości połączenia co bieżąca gałąź, takich jak ta sama organizacja, projekt, repozytorium i folder git.
Umożliwia to przejście do obszarów roboczych połączonych z innymi gałęziami powiązanymi z kontekstem bieżącej pracy bez konieczności wyszukiwania ich na liście obszarów roboczych sieci szkieletowej.
Kliknij element na liście, aby otworzyć odpowiedni obszar roboczy.
Aby uzyskać więcej informacji, zobacz Rozgałęzianie ograniczeń .
Szczegóły klienta
Na karcie Szczegóły konta są wyświetlane szczegóły konta usługi GitHub, z którymi jest połączony użytkownik. Ma dwie sekcje. W górnej sekcji przedstawiono dostawcę Usługi Git i nazwę konta. W dolnej sekcji przedstawiono repozytorium i gałąź, z którą jest połączony obszar roboczy. Obecnie ta karta jest dostępna tylko dla obszarów roboczych połączonych z usługą GitHub.
Szczegóły konta usługi GitHub obejmują:
Szczegóły konta Git
- Dostawca
- Nazwa konta
Repozytorium Git
Oddział
Rozważania i ograniczenia
Ogólne ograniczenia integracji z usługą Git
- Metoda uwierzytelniania w usłudze Fabric musi być co najmniej tak silna, jak metoda uwierzytelniania dla usługi Git. Jeśli na przykład usługa Git wymaga uwierzytelniania wieloskładnikowego, sieć szkieletowa musi również wymagać uwierzytelniania wieloskładnikowego.
- Zestawy danych usługi Power BI połączone z usługami Analysis Services nie są obecnie obsługiwane.
- Obszary robocze z zainstalowanymi aplikacjami szablonu nie mogą być połączone z usługą Git.
- Suwerenne chmury nie są obsługiwane.
- Konto usługi Azure DevOps musi być zarejestrowane dla tego samego użytkownika, który korzysta z obszaru roboczego sieć szkieletowa.
- Administrator dzierżawy musi włączyć eksporty między lokalizacjami geograficznymi, jeśli obszar roboczy i repozytorium Git znajdują się w dwóch różnych regionach geograficznych.
- Rozmiar zatwierdzenia jest ograniczony do 125 MB.
Ograniczenia usługi GitHub Enterprise
Niektóre ustawienia usługi GitHub Enterprise nie są obsługiwane. Na przykład:
- Lista dozwolonych adresów IP
- Sieć prywatna
Ograniczenia obszaru roboczego
- Tylko administrator obszaru roboczego może zarządzać połączeniami z repozytorium Git, takimi jak łączenie, rozłączanie lub dodawanie gałęzi.
Po nawiązaniu połączenia każda osoba z uprawnieniami może pracować w obszarze roboczym. - Struktura folderów obszaru roboczego nie jest odzwierciedlana w repozytorium Git. Elementy obszaru roboczego w folderach są eksportowane do katalogu głównego.
Ograniczenia gałęzi i folderów
- Maksymalna długość nazwy gałęzi to 244 znaki.
- Maksymalna długość pełnej ścieżki dla nazw plików to 250 znaków. Dłuższe nazwy kończą się niepowodzeniem.
- Maksymalny rozmiar pliku to 25 MB.
- Nie można pobrać raportu/zestawu danych jako pliku pbix z usługi po wdrożeniu ich przy użyciu integracji z usługą Git.
- Podczas nazewnictwa folderu w usłudze Git identyfikator logiczny (Guid) jest dodawany jako prefiks przed typem, jeśli nazwa wyświetlana elementu:
- Zawiera więcej niż 256 znaków
- Kończy się spacją lub znakiem .
- Zawiera dowolny z następujących znaków: " / : ? < > \ * |
Rozgałęzianie ograniczeń
- Wygałęzienie wymaga uprawnień wymienionych w tabeli uprawnień.
- Dla tej akcji musi istnieć dostępna pojemność.
- Wszystkie ograniczenia dotyczące nazewnictwa obszarów roboczych i gałęzi mają zastosowanie podczas rozgałęziania w nowym obszarze roboczym.
- Podczas rozgałęziania zostanie utworzony nowy obszar roboczy, a ustawienia z oryginalnego obszaru roboczego nie są kopiowane. Dostosuj ustawienia lub definicje, aby upewnić się, że nowy obszar roboczy spełnia zasady organizacji.
- W nowym obszarze roboczym są dostępne tylko obsługiwane elementy usługi Git.
- Lista powiązanych gałęzi zawiera tylko gałęzie i obszary robocze, do których masz uprawnienia do wyświetlania.
- Integracja z usługą Git musi być włączona.
Ograniczenia synchronizacji i zatwierdzania
- Synchronizacja w jednym kierunku jest dostępna tylko w jednym kierunku. Nie można jednocześnie zatwierdzać i aktualizować.
- Etykiety poufności nie są obsługiwane, a eksportowanie elementów z etykietami poufności może być wyłączone. Aby zatwierdzić elementy z etykietami poufności bez etykiety poufności, poproś administratora o pomoc.
- Działa z ograniczonymi elementami. Nieobsługiwane elementy w folderze są ignorowane.
- Duplikowanie nazw nie jest dozwolone. Nawet jeśli usługa Power BI zezwala na duplikowanie nazw, aktualizacja, zatwierdzanie lub cofanie akcji kończy się niepowodzeniem.
- B2B nie jest obsługiwany.
- Rozwiązywanie konfliktów jest częściowo wykonywane w usłudze Git.
- Podczas procesu Zatwierdzania w usłudze Git usługa szkieletowa usuwa pliki w folderze elementu, które nie są częścią definicji elementu. Niepowiązane pliki, które nie są w folderze elementu, nie są usuwane.
- Po zatwierdzeniu zmian możesz zauważyć nieoczekiwane zmiany w elemencie, którego nie wprowadzono. Te zmiany są semantycznie nieistotne i mogą wystąpić z kilku powodów. Na przykład: .
- Ręczne zmienianie pliku definicji elementu. Te zmiany są prawidłowe, ale mogą być inne niż w przypadku wykonania w edytorach. Jeśli na przykład zmienisz nazwę kolumny modelu semantycznego w usłudze Git i zaimportujesz tę zmianę do obszaru roboczego, przy następnym zatwierdzeniu zmian w modelu semantycznym plik bim zarejestruje się zgodnie ze zmianą, a zmodyfikowana kolumna zostanie wypchnięta z tyłu
columns
tablicy. Dzieje się tak, ponieważ aparat AS, który generuje pliki bim , wypycha zmienione kolumny na końcu tablicy. Ta zmiana nie ma wpływu na sposób działania elementu. - Zatwierdzanie pliku, który używa podziałów wierszy CRLF . Usługa używa podziałów wierszy LF (line feed). Jeśli w repozytorium Git były pliki elementów z podziałami wierszy CRLF , po zatwierdzeniu z usługi te pliki zostaną zmienione na LF. Jeśli na przykład otworzysz raport na pulpicie, zapisz projekt pbip i przekaż go do usługi Git przy użyciu funkcji CRLF.
- Ręczne zmienianie pliku definicji elementu. Te zmiany są prawidłowe, ale mogą być inne niż w przypadku wykonania w edytorach. Jeśli na przykład zmienisz nazwę kolumny modelu semantycznego w usłudze Git i zaimportujesz tę zmianę do obszaru roboczego, przy następnym zatwierdzeniu zmian w modelu semantycznym plik bim zarejestruje się zgodnie ze zmianą, a zmodyfikowana kolumna zostanie wypchnięta z tyłu
- Odświeżanie modelu semantycznego przy użyciu interfejsu API odświeżania rozszerzonego powoduje różnice w usłudze Git po każdym odświeżeniu.