I'm using Git 2.38.0.windows.1 on Windows with git-lfs/3.2.0 (GitHub; windows amd64; go 1.18.2). I haven't used Git LFS in a while. I have a repository hosted in GitHub with some large PNGs. I wanted to start storing the PNGs in LFS. I already had .gitconfig
set up from a previous machine, but I ran git lfs install
just in case.
Then I did:
git lfs migrate import --everything --include="*.png"
git push --force
Now the content of all my images/*.png
in the working tree have been replaced with the placeholder text files, with the hash and size. I had thought (remembering the last time I worked with Git LFS) that the working tree held the actual files, but that the placeholder files were used in history.
After reading an excellent summary on Stack Overflow, I performed the following command:
git lfs checkout
The actual files reappeared in my repository. This tells me (based upon the summary I referenced above) that the files must have already been in my .git/lfs
directory after migration. So in the future my LFS migration workflow will end in git lfs checkout
.
But is this correct, expected behavior? Does migration end with only placeholder files in the working tree? Why? The Git LFS Tutorial doesn't say anything about git lfs checkout
after migration.
Won't a git clone
of a new repository result in the actual files in the working tree, or would I need a git lfs checkout
after git clone
as well?