In my job I work with Perforce, and I really like the way that you can have as much code as you want in your depot and developers need only specify certain subdirectories in a client and only that subset is downloaded to the local area.
From what I understand [1] [2] [3], in Git, sparse checkout will checkout a subset of folders/files but will still download the whole repository, which in my mind defeats the object as the only reason I would use this is to save disk space. You can use --depth
to download only so much history, but this isn't a solution I would be happy with.
What alternatives are there for a large code project when you're using Git? Linus seems to have all the Linux kernel code in one repository. What would I do if I wanted to work on a subset of the code?