2017-11-19 28 views
1

내가 아무 문제없이 지금 몇 달 동안 힘내 LFS VOR GitLab을 사용했습니다 누락,하지만 최근 파일을 누른 상태에서 다음과 같은 오류를 반환 :GitLab 푸시 오류 : LFS 객체는

$ git push origin master 
Git LFS: (14 of 14 files) 8.88 MB/8.88 MB 
Counting objects: 54, done. 
Delta compression using up to 6 threads. 
Compressing objects: 100% (49/49), done. 
Writing objects: 100% (54/54), 5.42 KiB | 0 bytes/s, done. 
Total 54 (delta 15), reused 0 (delta 0) 
remote: GitLab: LFS objects are missing. Ensure LFS is properly set up or try a manual "git lfs push --all". 
To https://gitlab.com/<gitURL>.git 
! [remote rejected] master -> master (pre-receive hook declined) 
error: failed to push some refs to 'https://gitlab.com/<gitURL>.git' 

gitURL이 어디 내 git-repository URL.

오류가 나는 나에게 다음과 같은 출력을 제공하는 git lfs push --all을 사용하여 수동으로 바이너리 파일을 밀어 시도에서 알 수 있듯이

:

$ git lfs push --all origin master 
Git LFS: (0 of 0 files, 1370 skipped) 0 B/0 B, 1.77 GB skipped 

내 모든 로컬 파일이 이미 성공적으로에 저장되어있는 나의 이해에 의해 의미 내 섬기는 사람. 잘 잘 작동 않습니다 모든 LFS 파일을 가져 오기 위해 노력

:

오류없이 완료
$ git lfs fetch --all 
Scanning for all objects ever referenced... 
* 1446 objects found 
Fetching objects... 

.

또한 git lfs fsck을 사용하여 일관성을 위해 모든 LFS 파일을 확인 너무 잘 작동하는 것 같다 : 지금이 오류를 해결에 대한 아이디어가 부족하기 시작하고

$ git lfs fsck 
Git LFS fsck OK 

. 도움을 주시면 대단히 감사하겠습니다.

답변

1

GitLab의 저장소가 최근에 자체 LFS 지원을 도입했을 때 이런 일이 발생했습니다. 자신의 LFS를 계속 사용하려면 프로세스가 다소 고통 스럽습니다. 각 저장소에서 자체 LFS 지원을 비활성화해야하지만 웹 옵션이없는 것 같습니다. 명령 행 API : pip install python-gitlab

  • 설정 계정에 대한 개인 gitlab 토큰 액세스 계정의 프로필 부분을 토큰에 생성 :

    1. 는 파이썬 gitlab 명령 행 API를 설치합니다.
    2. ~/.python-gitlab.cfg로 구성 파일을 쓰기 :

      [global] 
      default = yourrepo 
      ssl_verify = true 
      timeout = 20 
      
      [yourrepo] 
      url = https://gitlab.com/ 
      private_token = <your API key from the settings tab on gitlab.com> 
      
    3. 는 우리의 개발자 중 일부는보고

    4. gitlab project update --lfs-enabled false --id <Your project id>

    설정 웹 페이지의 상단에서 gitlab 프로젝트 ID를 잡아 이것조차도 작동하지 않았고 개인 토큰 헤더가 개인 토큰으로 설정된 https://gitlab.com/api/v4/projects/<Your project id>?lfs_enabled=false으로 수동 HTTP PUT 요청을 보내야했습니다. 예를 들어, CURL :

    curl -X PUT --header "Private-Token: <private token>" -F "lfs_enabled=false" https://gitlab.com/api/v4/projects/<project id> 
    
  • +0

    이 답변을 이해할 수 없습니다. "자신의 LFS"와 "자신의 LFS"는 무엇입니까? 왜 gitlab에서 LFS를 제거할까요? 이 대답은 무엇입니까? – user239558

    +0

    역사적으로 GitLab은 LFS 지원을 제공하지 않았기 때문에 많은 사람들이 자신의 repos에 자신의 솔루션 설정을 할 것입니다. 이 답변을 통해 새로운 GitLab LFS 지원을 활성화하고 자신 만의 GitLab LFS 지원을 계속 사용할 수 있습니다. – mfj