KB: Git Error: Request failed with status Code: 471 에러로 인해 프로젝트를 저장할 수 없습니다

A365 A365
A365 작업 공간의 git 서버는 오용에 대한 보호 기능을 갖추고 있습니다: zip, 7z, rar과 같은 다음 유형의 이진 파일이 256MB를 초과하는 경우 허용하지 않습니다. 이러한 파일을 저장소에 푸시하면 고객 데이터의 클라이언트 측 및 서버 측 처리가 크게 느려질 수 있으며, 서비스 거부에 이를 수 있습니다. 사용자가 Altium Designer에서 이러한 파일을 서버에 저장하려고 시도하면, 서버에서 Git 오류: 상태 코드 471로 요청이 실패했다며 저장 작업을 거부합니다.

솔루션 세부 정보

이 문제가 발생하는 이유

Altium 365 Workspace의 Git 서버는 비정상적인 사용을 방지하기 위한 보호 기능을 제공합니다.
따라서 다음 형식의 압축 파일이 256MB를 초과하는 경우 저장소에 업로드할 수 없습니다.

  • .zip

  • .7z

  • .rar

이러한 파일을 저장소에 푸시하면, 고객 데이터의 클라이언트 측 및 서버 측 처리가 크게 느려질 수 있으며, 심한 경우 서비스 장애(DoS)에 이를 수 있습니다.

사용자가 Altium Designer에서 이러한 파일을 서버에 저장하려고 하면, 서버는 아래와 같은 오류를 표시하며 저장 작업을 거부합니다.

Git Error: request failed with status code: 471

이 경우 사용자는 로컬 git 저장소에서, 해당 파일을 버전 관리 대상에서 제거해야 합니다.

사전 준비사항

사용자는 먼저 Git SCM을 다운로드하여 설치해야 합니다. 아래 링크에서 다운로드 후 설치해주세요.
https://git-scm.com/download/win

독립 실행형 설치 프로그램"이 권장되며, 대부분 64비트 설치 프로그램일 것이지만, 운영 체제에 따라 다릅니다.
(이를 확인하는 방법은 여기에 있습니다:
링크)

버전 관리에서 파일을 제거하는 명령어

1. 프로젝트 git 저장소의 로컬 경로를 확인합니다. Project Panel 에서 프로젝트를 마우스 우클릭한 다음, Explore 을 클릭합니다.
Projects panel>then click Explore


2. Windows 탐색기가 열립니다. 폴더의 전체 경로를 복사합니다.
Path to folder

3. Git Bash 유틸리티를 실행합니다.
Git bash


4. 2번 단계에서 Windows 탐색기에서 복사한 경로를 아래 cd 명령어를 통해 디렉토리를 변경합니다.
cd C:\Users\Public\Documents\Altium\Sample - Kame_FMU

5. 아래 명령어를 실행하여, 서버 제한 크기를 위반하는 파일을 찾습니다.
git rev-list --objects "origin/master..master" | git cat-file $'--batch-check=%(objectname)\t%(objecttype)\t%(objectsize)\t%(rest)' | gawk -F '\t' -v maxbytes="256000000" '$3 > maxbytes' | cut -f 4- | grep -E "\.(zip|rar|7z)"

이 명령어를 실행하면, 서버로 전송할 수 없는 파일(또는 파일 목록)을 출력합니다. (예시에서는 “bad.zip” 파일이 출력됩니다.)
cmd line

6. 저장소 편집을 시작하기 위해 다음 명령어를 실행합니다.
git reset --soft $(git merge-base origin/master HEAD)
 

7. 5번 단계에서 찾은 파일들을 각각의 파일에 대해, git reset 명령어를 사용하여 버전 관리에서 제거합니다. 우리 예제에서는 파일이 하나뿐이므로 이 명령어를 한 번만 실행합니다.
git reset bad.zip

8. Altium Designer로 돌아가서, History & Version Control에서 프로젝트를 새로 고칩니다.
refresh the project from version control

9. 그런 다음, 평소와 같이 Save to Server (서버에 전송)을 클릭합니다. 제한된 파일을 다시 체크 선택하지 않도록 주의하세요!!
Don't select the zip folder when saving to server

10. 프로젝트가 오류 없이 저장됩니다.

 

만약 문제가 있으시다면, 텍스트/이미지를 선택하신 상태에서 Ctrl + Enter를 누르셔서 저희에게 피드백을 보내주세요.