2016-11-02 11 views
1

をチェックアウト:のgit-LFSは、私は、ファイルを保存するために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= 

Gitは、LFS ENV示す:

Iはクローニングし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を上書きしているようです。ローカルディレクトリを設定して、それぞれのエンドポイントURLに基​​づいて起点とリモートからlfsファイルをプッシュ/プル/チェックアウトできる方法はありますか?

+0

"git checkout -b test remoteRepo/master"コマンドで "test"とは何ですか? –

+0

これは、remoteRepo/masterブランチを追跡するローカルブランチの名前になります。 – zhanga

+0

引っ張ると起こりますか? –

答えて

1

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 

このように私のローカルディレクトリ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" 

GitHubでgit-lfs repoを作成しましたか? https://github.com/username/remoteRepo-lfs.gitを使用して、実際に存在するかどうかを調べることができます。

そして私はまた、あなたのローカルディレクトリのようなことに混乱しています:私は変更することで、私が遭遇しています。この問題の回避策を発見した

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

関連する問題