This windows batch works regardless of whether or not it's on GitHub. I'm using it because it shows some stark caveats. You'll notice that the operation is slow and traversing hundreds of megabytes of data, so don't use this method if your requirements are based on available bandwidth/R-W memory.
sparse_checkout.bat
pushd "%~dp0"
if not exist .\ms-server-essentials-docs mkdir .\ms-server-essentials-docs
pushd .\ms-server-essentials-docs
git init
git remote add origin -f https://github.com/MicrosoftDocs/windowsserverdocs.git
git config core.sparseCheckout true
(echo EssentialsDocs)>>.git\info\sparse-checkout
git pull origin master
=>
C:\Users\user name\Desktop>sparse_checkout.bat
C:\Users\user name\Desktop>pushd "C:\Users\user name\Desktop\"
C:\Users\user name\Desktop>if not exist .\ms-server-essentials-docs
mkdir .\ms-server-essentials-docs
C:\Users\user name\Desktop>pushd .\ms-server-essentials-docs
C:\Users\user name\Desktop\ms-server-essentials-docs>git init
Initialized empty Git repository in C:/Users/user
name/Desktop/ms-server-essentials-docs/.git/
C:\Users\user name\Desktop\ms-server-essentials-docs>git remote add
origin -f https://github.com/MicrosoftDocs/windowsserverdocs.git
Updating origin remote: Enumerating objects: 97, done. remote:
Counting objects: 100% (97/97), done. remote: Compressing objects:
100% (44/44), done. remote: Total 145517 (delta 63), reused 76 (delta
53), pack-reused 145420 Receiving objects: 100% (145517/145517),
751.33 MiB | 32.06 MiB/s, done. Resolving deltas: 100% (102110/102110), done. From
https://github.com/MicrosoftDocs/windowsserverdocs * [new branch]
1106-conflict -> origin/1106-conflict * [new branch]
FromPrivateRepo -> origin/FromPrivateRepo * [new branch]
PR183 -> origin/PR183 * [new branch]
conflictfix -> origin/conflictfix * [new branch]
eross-msft-patch-1 -> origin/eross-msft-patch-1 * [new branch]
master -> origin/master * [new branch] patch-1
-> origin/patch-1 * [new branch] repo_sync_working_branch -> origin/repo_sync_working_branch * [new branch]
shortpatti-patch-1 -> origin/shortpatti-patch-1 * [new branch]
shortpatti-patch-2 -> origin/shortpatti-patch-2 * [new branch]
shortpatti-patch-3 -> origin/shortpatti-patch-3 * [new branch]
shortpatti-patch-4 -> origin/shortpatti-patch-4 * [new branch]
shortpatti-patch-5 -> origin/shortpatti-patch-5 * [new branch]
shortpatti-patch-6 -> origin/shortpatti-patch-6 * [new branch]
shortpatti-patch-7 -> origin/shortpatti-patch-7 * [new branch]
shortpatti-patch-8 -> origin/shortpatti-patch-8
C:\Users\user name\Desktop\ms-server-essentials-docs>git config
core.sparseCheckout true
C:\Users\user name\Desktop\ms-server-essentials-docs>(echo
EssentialsDocs ) 1>>.git\info\sparse-checkout
C:\Users\user name\Desktop\ms-server-essentials-docs>git pull origin
master
From https://github.com/MicrosoftDocs/windowsserverdocs
* branch master -> FETCH_HEAD