Git 통합의 기본 개념

이 문서에서는 기본 Git 개념과 Git을 Microsoft Fabric 작업 영역과 통합하는 프로세스를 설명합니다.

사용 권한

  • Git 통합을 사용하려면 조직의 관리자가 Git 통합을 사용하도록 설정해야 합니다.
  • 작업 영역과 Azure 리포지토리가 서로 다른 두 지역에 있는 경우 테넌트 관리자는 지역 간 내보내기를 사용하도록 설정해야 합니다. GitHub에는 이 제한이 적용되지 않습니다.
  • 작업 영역에서 수행할 수 있는 작업은 다음 섹션에 나열된 대로 작업 영역과 Git 모두에 있는 사용 권한에 따라 달라집니다.

다음 목록에서는 Git 리포지토리의 사용 권한에 따라 다른 작업 영역 역할이 수행할 수 있는 작업을 보여 줍니다.

  • 관리자: 작업 영역에서 Git 역할로만 제한되는 모든 작업을 수행할 수 있습니다.
  • 구성원/기여자: 작업 영역에 연결하면 구성원/기여자는 Git 역할에 따라 변경 내용을 커밋하고 업데이트할 수 있습니다. 작업 영역 연결과 관련된 작업(예: 연결, 연결 끊기 또는 분기 전환)의 경우 관리자에게 도움을 요청하세요.
  • 시청자: 어떤 작업도 수행할 수 없습니다. 시청자는 작업 영역에서 Git 관련 정보를 볼 수 없습니다.

작업 영역 역할

다음 표에서는 Fabric 작업 영역에서 다양한 일반적인 작업을 수행하는 데 필요한 권한을 설명합니다.

작업 작업 영역 역할
작업 영역을 Git 리포지토리에 연결합니다. Admin
Git 리포지토리와 작업 영역 동기화 Admin
Git 리포지토리에서 작업 영역 연결 끊기 Admin
작업 영역에서 분기 전환(또는 연결 설정의 변경) Admin
Git 연결 세부 정보 보기 관리자, 기여자, 구성원
작업 영역 'Git 상태' 참조 관리자, 기여자, 구성원
Git에서 업데이트 다음 중 하나:

작업 영역의 기여자(모든 항목에 대한 쓰기 권한)

항목의 소유자(테넌트 스위치가 비소유자에 대한 업데이트를 차단하는 경우)

외부 종속성 빌드(해당하는 경우)
Git에 작업 영역 변경 내용 커밋 다음 중 하나:

작업 영역의 기여자(모든 항목에 대한 쓰기 권한)

항목의 소유자(테넌트 스위치가 비소유자에 대한 업데이트를 차단하는 경우)

외부 종속성 빌드(해당하는 경우)
Fabric 내에서 새 Git 분기 만들기 Admin
새 작업 영역으로 분기 관리자, 기여자, 구성원

Git 역할

다음 표에서는 다양한 일반적인 작업을 수행하는 데 필요한 Git 권한을 설명합니다.

작업 Git 권한
작업 영역을 Git 리포지토리에 연결합니다. 읽기=허용
Git 리포지토리와 작업 영역 동기화 읽기=허용
Git 리포지토리에서 작업 영역 연결 끊기 권한 필요 없음
작업 영역에서 분기 전환(또는 연결 설정의 변경) 읽기=허용(대상 리포지토리/디렉터리/분기에서)
Git 연결 세부 정보 보기 읽기 또는 없음
작업 영역 'Git 상태' 참조 읽기=허용
Git에서 업데이트 읽기=허용
Git에 작업 영역 변경 내용 커밋 읽기=허용
기여=허용
분기 정책은 직접 커밋을 허용해야 합니다.
Fabric 내에서 새 Git 분기 만들기 역할=쓰기
분기 만들기=허용
새 작업 영역으로 분기 읽기=허용
분기 만들기=허용

연결 및 동기화

작업 영역 관리자만 작업 영역을 Git 리포지토리에 연결할 수 있지만 연결되면 권한이 있는 모든 사용자가 작업 영역에서 작업할 수 있습니다. 관리자가 아닌 경우 관리자에게 연결과 관련된 도움을 요청하세요.

작업 영역을 Git에 연결하면 Fabric은 두 위치 간에 동기화되어 동일한 콘텐츠를 갖습니다. 이 초기 동기화 중에 다른 쪽에 콘텐츠가 있는 동안 작업 영역 또는 Git 분기가 비어 있으면 콘텐츠가 비어 있지 않은 위치에서 빈 위치로 복사됩니다. 작업 영역과 Git 분기 모두에 콘텐츠가 있는 경우 동기화를 진행해야 하는 방향을 결정해야 합니다.

  • 작업 영역을 Git 분기로 커밋하면 지원되는 모든 작업 영역 콘텐츠가 Git으로 내보내지고 현재 Git 콘텐츠를 덮어씁니다.
  • Git 콘텐츠로 작업 영역을 업데이트하면 작업 영역 콘텐츠가 덮어쓰여지고 작업 영역 콘텐츠가 손실됩니다. Git 분기는 항상 이전 스테이지로 복원할 수 있지만 작업 영역은 복원할 수 없으므로 이 옵션을 선택하면 작업 진행 여부를 확인하는 메시지가 표시됩니다.

Git과 작업 영역에 콘텐츠가 둘 다 있는 경우 동기화할 방향을 묻는 대화 상자의 스크린샷.

동기화할 콘텐츠를 선택하지 않으면 계속 작업할 수 없습니다.

작업 영역이 동기화될 때까지 작업을 계속할 수 없다는 스크린샷 알림.

공유 작업 영역에 연결

이미 Git에 연결된 작업 영역에 연결하려고 하면 다음 메시지가 표시될 수 있습니다.

Git 계정에 로그인하라는 오류 메시지의 스크린샷

원본 제어판의 오른쪽에 있는 계정 탭으로 이동하여 계정을 선택하고 연결합니다.

사용자가 GitHub 계정에 연결하는 계정 탭의 스크린샷

Git 상태

연결한 후 작업 영역에는 원격 분기의 항목과 관련하여 작업 영역에 있는 각 항목의 동기화 상태를 나타내는 Git 상태 열이 표시됩니다.

Git 상태가 윤곽선으로 표시된 작업 영역의 항목이 있는 경우 스크린샷

각 항목에는 다음 상태 중 하나가 있습니다.

  • 동기화됨(항목이 작업 영역 및 Git 분기에서 동일함)
  • 충돌(작업 영역과 Git 분기 모두에서 항목이 변경됨)
  • 지원되지 않는 항목
  • 작업 영역의 커밋되지 않은 변경 내용
  • Git에서 필요한 업데이트
  • 항목은 두 위치에서 동일하지만 마지막 커밋으로 업데이트해야 합니다.

동기화 정보

연결되면 화면 아래쪽에 다음 정보가 표시됩니다.

  • 연결된 분기
  • 마지막 동기화 시간
  • 작업 영역이 동기화된 마지막 커밋에 대한 링크

Git에 연결할 때 화면 아래쪽에 표시되는 동기화 정보의 스크린샷

소스 제어 창

화면 맨 위에는 소스 제어 아이콘이 있습니다. 작업 영역 및 Git 분기에서 서로 다른 항목의 수를 표시합니다. 작업 영역 또는 Git 분기를 변경하면 이 숫자가 업데이트됩니다. 작업 영역이 Git 분기와 동기화되면 소스 제어 아이콘에 0이 표시됩니다.

변경된 항목이 0개인 소스 제어 아이콘의 스크린샷

소스 제어 아이콘을 선택하여 소스 제어 창을 엽니다.

소스 제어 창에는 다음 세 개의 탭이 있습니다.

커밋 및 업데이트

작업 영역 또는 Git 분기를 변경하면 소스 제어 아이콘에 표시되는 항목 수가 달라집니다. 소스 제어 아이콘을 선택하여 소스 제어 창을 엽니다.

커밋 및 업데이트 패널에는 두 개의 섹션이 있습니다.

변경 내용에는 작업 영역에서 변경되었으며 Git에 커밋해야 하는 항목 수가 표시됩니다.
업데이트에는 Git 분기에서 수정되었으며 작업 영역으로 업데이트해야 하는 항목 수가 표시됩니다.

각 섹션에서 변경된 항목은 상태를 나타내는 아이콘과 함께 나열됩니다.

  • 신규
  • 수정됨
  • 삭제됨
  • 충돌

패널 맨 위에 있는 새로 고침 버튼은 변경 내용 및 업데이트 목록을 업데이트합니다.

변경된 항목의 상태를 보여 주는 소스 제어 창의 스크린샷

Commit

  • 변경된 작업 영역의 항목은 변경 내용 섹션에 나열됩니다. 변경된 항목이 둘 이상 있는 경우 Git 분기에 커밋할 항목을 선택할 수 있습니다.
  • Git 분기에 대한 업데이트가 있는 경우 작업 영역을 업데이트할 때까지 커밋이 사용 중지됩니다.

엽데이트

  • 커밋실행 취소와 달리 업데이트 명령은 항상 전체 분기를 업데이트하고 가장 최근의 커밋으로 동기화합니다. 업데이트할 특정 항목을 선택할 수 없습니다.
  • 작업 영역과 동일한 항목의 Git 분기에서 변경된 경우 충돌이 해결될 때까지 업데이트를 사용할 수 없습니다.

커밋업데이트 방법에 대해 자세히 알아보세요. 업데이트 프로세스 및 충돌 해결 방법에 대해 자세히 알아보세요.

분기

소스 제어 창의 분기 탭을 사용하면 분기를 관리하고 분기 관련 작업을 수행할 수 있습니다. 다음과 같은 두 가지 주요 섹션이 있습니다.

  • 현재 분기에 대해 취할 수 있는 조치:

    • 새 작업 영역으로 분기(모든 역할): 현재 작업 영역에 연결된 분기의 마지막 커밋을 기반으로 새 작업 영역 및 새 분기를 만듭니다. 새 작업 영역 및 새 분기에 연결합니다.
    • 새 분기 체크 아웃(작업 영역 관리자여야 함): 작업 영역에서 마지막으로 동기화된 커밋을 기반으로 새 분기를 만들고 현재 작업 영역에서 Git 연결을 변경합니다. 작업 영역 콘텐츠는 변경되지 않습니다.

    소스 제어 창의 분기 탭 스크린샷

  • 관련 분기.
    분기 탭에는 선택하고 전환할 수 있는 관련 작업 영역 목록도 있습니다. 관련 작업 영역은 동일한 조직, 프로젝트, 리포지토리 및 git 폴더와 같은 현재 분기와 동일한 연결 속성을 가진 작업 영역입니다.
    이를 통해 Fabric 작업 영역 목록에서 찾을 필요 없이 현재 작업의 컨텍스트와 관련된 다른 분기에 연결된 작업 영역으로 이동할 수 있습니다.
    목록에서 항목을 클릭하여 관련 작업 영역을 엽니다.

    사용자가 전환할 수 있는 관련 분기 목록을 보여 주는 스크린샷

자세한 내용은 분기 제한 사항을 참조하세요.

거래처 세부 정보

계정 세부 정보 탭에는 사용자가 연결된 GitHub 계정의 세부 정보가 표시됩니다. 두 개의 섹션이 있습니다. 위쪽 섹션에는 Git 공급자와 계정 이름이 표시됩니다. 아래쪽 섹션에는 작업 영역이 연결된 리포지토리 및 분기가 표시됩니다. 현재 이 탭은 GitHub에 연결된 작업 영역에만 사용할 수 있습니다.

GitHub 계정 세부 정보는 다음과 같습니다.

  • Git 계정 세부 정보

    • 공급자
    • 계정 이름
  • Git 리포지토리

  • 지점

Git 세부 정보 및 리포지토리 및 분기 이름을 보여 주는 소스 제어 창의 계정 탭 스크린샷

고려 사항 및 제한 사항

일반 Git 통합 제한 사항

  • Fabric의 인증 방법은 적어도 Git의 인증 방법만큼 강력해야 합니다. 예를 들어 Git에 다단계 인증이 필요한 경우 Fabric에도 다단계 인증이 필요합니다.
  • Analysis Services에 연결된 Power BI 데이터 세트는 현재 지원되지 않습니다.
  • 소버린 클라우드는 지원되지 않습니다.
  • Fabric 작업 영역을 사용하는 동일한 사용자에게 등록된 Azure DevOps 계정이 있어야 합니다.
  • 작업 영역과 Git 리포지토리가 서로 다른 두 하위 지역에 있는 경우 테넌트 관리자는 지역 간 내보내기를 사용하도록 설정해야 합니다.
  • 커밋 크기는 125MB로 제한됩니다.

GitHub Enterprise 제한 사항

일부 GitHub Enterprise 설정은 지원되지 않습니다. 예시:

  • IP 허용 목록
  • 개인 네트워크

작업 영역 제한 사항

  • 작업 영역 관리자만 분기 연결, 연결 끊기 또는 추가와 같은 Git 리포지토리에 대한 연결을 관리할 수 있습니다.
    연결되면 권한이 있는 모든 사용자가 작업 영역에서 작업할 수 있습니다.
  • 작업 영역 폴더 구조는 Git 리포지토리에 반영되지 않습니다. 폴더의 작업 영역 항목을 루트 디렉터리로 내보냅니다.

분기 및 폴더 제한 사항

  • 분기 이름의 최대 길이는 244자입니다.
  • 파일 이름에 대한 전체 경로의 최대 길이는 250자입니다. 이름이 더 길면 실패합니다.
  • 최대 파일 크기는 25MB입니다.
  • Git 통합을 사용하여 배포한 후에는 보고서에서 .pbix로 보고서/데이터 세트를 다운로드할 수 없습니다.
  • Git에서 폴더 이름을 지정할 때 항목의 표시 이름이 다음과 같은 경우 논리 ID(Guid)가 형식 앞에 접두사로 추가됩니다.
    • 256자를 초과하는 경우
    • . 또는 공백으로 끝나는 경우
    • 다음 문자를 포함하는 경우: " / : < > \ * ? |

분기 제한 사항

  • 분기를 사용하려면 사용 권한 테이블에 나열된 권한이 필요합니다.
  • 이 작업에 사용할 수 있는 용량이 있어야 합니다.
  • 모든 작업 영역분기 명명 제한은 새 작업 영역으로 분기할 때 적용됩니다.
  • 분기할 때 새 작업 영역이 생성되고 원래 작업 영역의 설정이 복사되지 않습니다. 새 작업 영역이 조직의 정책을 충족하도록 설정이나 정의를 조정합니다.
  • 새 작업 영역에서는 Git 지원 항목만 사용할 수 있습니다.
  • 관련 분기 목록에는 볼 수 있는 권한이 있는 분기 및 작업 영역만 표시됩니다.
  • Git 통합을 사용하도록 설정해야 합니다.

동기화 및 커밋 제한 사항

  • 한 번에 한 방향으로만 동기화할 수 있습니다. 커밋 및 업데이트는 동시에 수행할 수 없습니다.
  • 민감도 레이블이 지원되지 않으며 민감도 레이블이 있는 항목 내보내기가 사용하지 않도록 설정될 수 있습니다. 민감도 레이블이 있는 항목을 민감도 레이블 없이 커밋하려면 관리자에게 도움을 요청하세요.
  • 제한된 항목으로 작업합니다. 폴더에서 지원되지 않는 항목은 무시됩니다.
  • 중복 이름은 허용되지 않습니다. Power BI에서 이름 중복을 허용하더라도 업데이트, 커밋 또는 실행 취소 작업에 실패합니다.
  • B2B는 지원되지 않습니다.
  • 충돌 해결은 Git에서 부분적으로 수행됩니다.
  • Git에 커밋 프로세스 중에 Fabric 서비스는 항목 정의의 일부가 아닌 항목 폴더 내의 파일을 삭제합니다. 항목 폴더에 없는 관련 없는 파일은 삭제되지 않습니다.
  • 변경 내용을 커밋한 후에는 항목에 대한 예기치 않은 변경 내용이 표시될 수 있습니다. 이러한 변경 내용은 의미상 중요하지 않으며 여러 가지 이유로 발생할 수 있습니다. 예:
    • 항목 정의 파일을 수동으로 변경합니다. 이러한 변경 내용은 유효하지만 편집기를 통해 수행하는 경우와 다를 수 있습니다. 예를 들어 Git에서 의미 체계 모델 열의 이름을 바꾸고 이 변경 내용을 작업 영역으로 가져오는 경우 다음에 의미 체계 모델에 변경 내용을 커밋하면 bim 파일이 변경된 것으로 등록되고 수정된 열이 columns 배열의 뒤로 푸시됩니다. 이는 bim 파일을 생성하는 AS 엔진이 이름이 바뀐 열을 배열의 끝으로 푸시하기 때문입니다. 이 변경 내용은 항목 작동 방식에 영향을 주지 않습니다.
    • CRLF 줄 바꿈을 사용하는 파일 커밋. 이 서비스는 LF(줄 바꿈) 줄 바꿈을 사용합니다. Git 리포지토리에 CRLF 줄 바꿈이 포함된 항목 파일이 있는 경우 서비스에서 커밋하면 이러한 파일이 LF로 변경됩니다. 예를 들어 데스크톱에서 보고서를 여는 경우 .pbip 프로젝트를 저장하고 CRLF를 사용하여 Git에 업로드합니다.
  • 향상된 새로 고침 API를 사용하여 의미 체계 모델을 새로 고치면 새로 고칠 때마다 Git diff가 발생합니다.