2016-11-02 4 views
1

Я пытаюсь оформить ветку с пульта дистанционного управления, который использует LFS для хранения файлов:GIT-LFS контроль удаленного филиала

git remote add remoteRepo [email protected]:user/remoteRepo-lfs.git 
git fetch remoteRepo 
git checkout -b test remoteRepo/master 

Стоит отметить, что удаленный подвергалось к bozaro/git- Инструмент lfs-migrate. Процесс проверки прекращается с ошибкой и через

git lfs logs last 

показывает:

git-lfs/1.4.4 (GitHub; linux amd64; go 1.7.3; git cbf91a9) 
git version 2.10.2 

$ git-lfs smudge -- testText.log 
Error downloading object: testText.log (dc56c0fc4d655b0895d83cd61b121f30cb74bda428655db4144e4a1c8b582b57) 

Smudge error: Error buffering media file: Object not found on the server.: 
github.com/github/git-lfs/errors.newWrappedError 
    /Users/ttaylorr/dev/go/src/github.com/github/git-lfs/errors/types.go:166 
github.com/github/git-lfs/errors.NewSmudgeError 
    /Users/ttaylorr/dev/go/src/github.com/github/git-lfs/errors/types.go:252 
github.com/github/git-lfs/lfs.PointerSmudge 
    /Users/ttaylorr/dev/go/src/github.com/github/git-lfs/lfs/pointer_smudge.go:69 
github.com/github/git-lfs/lfs.(*Pointer).Smudge 
    /Users/ttaylorr/dev/go/src/github.com/github/git-lfs/lfs/pointer.go:64 
github.com/github/git-lfs/commands.smudgeCommand 
    /Users/ttaylorr/dev/go/src/github.com/github/git-lfs/commands/command_smudge.go:66 
github.com/github/git-lfs/vendor/github.com/spf13/cobra.(*Command).execute 
    /Users/ttaylorr/dev/go/src/github.com/github/git-lfs/vendor/github.com/spf13/cobra/command.go:477 
github.com/github/git-lfs/vendor/github.com/spf13/cobra.(*Command).Execute 
    /Users/ttaylorr/dev/go/src/github.com/github/git-lfs/vendor/github.com/spf13/cobra/command.go:551 
github.com/github/git-lfs/commands.Run 
    /Users/ttaylorr/dev/go/src/github.com/github/git-lfs/commands/run.go:65 
main.main 
    /Users/ttaylorr/dev/go/src/github.com/github/git-lfs/git-lfs.go:33 
runtime.main 
    /usr/local/Cellar/go/1.7.3/libexec/src/runtime/proc.go:183 
runtime.goexit 
    /usr/local/Cellar/go/1.7.3/libexec/src/runtime/asm_amd64.s:2086 

ENV: 
LocalWorkingDir=/home/person/Projects/proteus/proteus 
LocalGitDir=/home/person/Projects/proteus/proteus/.git 
LocalGitStorageDir=/home/person/Projects/proteus/proteus/.git 
LocalMediaDir=/home/person/Projects/proteus/proteus/.git/lfs/objects 
LocalReferenceDir= 
TempDir=/home/person/Projects/proteus/proteus/.git/lfs/tmp 
ConcurrentTransfers=3 
TusTransfers=false 
BasicTransfersOnly=false 
BatchTransfer=true 
SkipDownloadErrors=false 
FetchRecentAlways=false 
FetchRecentRefsDays=7 
FetchRecentCommitsDays=0 
FetchRecentRefsIncludeRemotes=true 
PruneOffsetDays=3 
PruneVerifyRemoteAlways=false 
PruneRemoteName=origin 
AccessDownload=none 
AccessUpload=none 
DownloadTransfers=basic 
UploadTransfers=basic 
GIT_DIR=.git 
GIT_PREFIX= 

ГИТ-LFS окр показывает:

Я клонированные remoteRepo-LFS успешно с

git clone [email protected]:user/remoteRepo-lfs.git 

и также имеют было в состоянии успешно оформить ветку, указав в файле .lfsconfig:

[lfs] 
    url = https://github.com/username/remoteRepo-lfs.git 
[remote "remoteRepo"] 
    lfsurl = https://github.com/username/remoteRepo-lfs.git/info/lfs 

который кажется перезаписать конечную точку URL для происхождения. Есть ли способ настроить локальный каталог, чтобы я мог вытащить/вытащить/проверить файлы lfs из источника и пультов на основе их соответствующих URL-адресов конечных точек?

+0

Что такое «тест» в «git checkout -b test remoteRepo/master»? –

+0

Это будет имя локальной ветви, которая отслеживает удаленную ветвь Repo/master. – zhanga

+0

Это происходит, если вы его потянете? –

ответ

1

Я нашел обходной путь к этой проблеме, что я встречая, изменив Фильтр lfs (в ~/.gitconfig). А именно:

[filter "lfs"] 
    smudge = git-lfs smudge --skip %f 
    required = true 
    clean = git-lfs clean -- %f 

git-lfs smudge преобразует указатели файлов в фактические файлы. С помощью этого обходного пути, я должен выполнить

git lfs fetch 

с последующим

git lfs checkout 

для получения/получить доступ к содержимому файлов. Мне непонятно, почему это обходное решение необходимо. Рассматривая проблемы на git-lfs, похоже, что это общая работа.

(например, https://github.com/github/git-lfs/issues/834).

+0

, так как вы нашли хорошее обходное решение для этой проблемы, не могли бы вы отметить ее как ответ? Таким образом, это помогло бы другим членам, которые столкнулись с одной и той же проблемой. –

0

Вы когда-нибудь устанавливали git-lfs? Если нет, вы можете установить here. Кажется, у вас нет GIT_LFS_PATH, но на мою собственную среду можно ссылаться.

DownloadTransfers=basic 
UploadTransfers=basic 
GIT_LFS_PATH=C:\Program Files\Git LFS 
git config filter.lfs.smudge = "git-lfs smudge -- %f" 
git config filter.lfs.clean = "git-lfs clean -- %f" 

И вы создали репозиторий git-lfs на GitHub? Вы можете попробовать использовать https://github.com/username/remoteRepo-lfs.git, чтобы проверить, действительно ли он существует.

И я также путают, что ваш локальный каталог, как:

LocalWorkingDir=/home/person/Projects/proteus/proteus 
LocalGitDir=/home/person/Projects/proteus/proteus/.git 
LocalGitStorageDir=/home/person/Projects/proteus/proteus/.git 
LocalMediaDir=/home/person/Projects/proteus/proteus/.git/lfs/objects 
LocalReferenceDir= 
TempDir=/home/person/Projects/proteus/proteus/.git/lfs/tmp 

мой локальный каталог, как это:

LocalWorkingDir=C:\Users\TFSTest\New folder\Git2 
LocalGitDir=C:\Users\TFSTest\New folder\Git2\.git 
LocalGitStorageDir=C:\Users\TFSTest\New folder\Git2\.git 
LocalMediaDir=C:\Users\TFSTest\New folder\Git2\.git\lfs\objects 
LocalReferenceDir= 
TempDir=C:\Users\TFSTest\New folder\Git2\.git\lfs\tmp 
+0

git-lfs определенно установлен, потому что команда git-lfs env не будет работать иначе. У меня создалось впечатление, что сервером lfs по умолчанию является само репо, которое существует. Что касается моего локального каталога, я на Ubuntu 14.04 LTS. Кажется, что ваши каталоги указывают на систему Windows? – zhanga

Смежные вопросы