스파스

cd $HOME/lab
rm -rf test_sparse_01
git init test_sparse_01
cd test_sparse_01
cat .git/config
[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
    ignorecase = true
    precomposeunicode = true
if result=$(git config --get core.sparseCheckout); then
  echo result
else
  echo "실패"
fi
실패
git sparse-checkout init --no-cone
cat .git/config
[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
    ignorecase = true
    precomposeunicode = true
[extensions]
    worktreeConfig = true
if result=$(git config --get core.sparseCheckout); then
  echo $result
else
  echo "실패"
fi
true
rm -rf .git/config.worktree
if result=$(git config --get core.sparseCheckout); then
  echo $result
else
  echo "실패"
fi
실패
git sparse-checkout init --no-cone
cat .git/config.worktree
[core]
    sparseCheckout = true
    sparseCheckoutCone = false
git sparse-checkout list
/*
!/*/
rm -rf .git/info/sparse-checkout
if result=$(git config --get core.sparseCheckout); then
  echo $result
else
  echo "실패"
fi
true
git sparse-checkout set "/*"
git sparse-checkout list
/*
touch file1.txt
touch file2.txt
touch file3.txt
touch file4.txt
touch file5.txt
git add .
git commit -m "c1"
[main (root-commit) b00470b] c1
 5 files changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 file1.txt
 create mode 100644 file2.txt
 create mode 100644 file3.txt
 create mode 100644 file4.txt
 create mode 100644 file5.txt
git checkout
ls
file1.txt   file2.txt   file3.txt   file4.txt   file5.txt
git sparse-checkout list
/*
git sparse-checkout set ""
git sparse-checkout list
git checkout
ls -al
total 0
drwxr-xr-x@  3 joelkim  staff   96 Sep  3 22:34 .
drwxr-xr-x@ 13 joelkim  staff  416 Sep  3 22:34 ..
drwxr-xr-x@ 13 joelkim  staff  416 Sep  3 22:34 .git
git sparse-checkout set ""
git sparse-checkout add "/file1.txt"
git sparse-checkout add "/file2.txt"
git sparse-checkout list
/file1.txt
/file2.txt
git checkout
ls -al
total 0
drwxr-xr-x@  5 joelkim  staff  160 Sep  3 22:34 .
drwxr-xr-x@ 13 joelkim  staff  416 Sep  3 22:34 ..
drwxr-xr-x@ 13 joelkim  staff  416 Sep  3 22:34 .git
-rw-r--r--@  1 joelkim  staff    0 Sep  3 22:34 file1.txt
-rw-r--r--@  1 joelkim  staff    0 Sep  3 22:34 file2.txt
touch file6.txt
touch file7.txt
touch file8.txt
touch file9.txt
git add --sparse .
git commit -m "c2"
[main 02b2ddb] c2
 4 files changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 file6.txt
 create mode 100644 file7.txt
 create mode 100644 file8.txt
 create mode 100644 file9.txt
git sparse-checkout list
/file1.txt
/file2.txt
ls -al
total 0
drwxr-xr-x@  9 joelkim  staff  288 Sep  3 22:34 .
drwxr-xr-x@ 13 joelkim  staff  416 Sep  3 22:34 ..
drwxr-xr-x@ 13 joelkim  staff  416 Sep  3 22:34 .git
-rw-r--r--@  1 joelkim  staff    0 Sep  3 22:34 file1.txt
-rw-r--r--@  1 joelkim  staff    0 Sep  3 22:34 file2.txt
-rw-r--r--@  1 joelkim  staff    0 Sep  3 22:34 file6.txt
-rw-r--r--@  1 joelkim  staff    0 Sep  3 22:34 file7.txt
-rw-r--r--@  1 joelkim  staff    0 Sep  3 22:34 file8.txt
-rw-r--r--@  1 joelkim  staff    0 Sep  3 22:34 file9.txt
git checkout
ls -al
total 0
drwxr-xr-x@  5 joelkim  staff  160 Sep  3 22:34 .
drwxr-xr-x@ 13 joelkim  staff  416 Sep  3 22:34 ..
drwxr-xr-x@ 13 joelkim  staff  416 Sep  3 22:34 .git
-rw-r--r--@  1 joelkim  staff    0 Sep  3 22:34 file1.txt
-rw-r--r--@  1 joelkim  staff    0 Sep  3 22:34 file2.txt
git sparse-checkout add "/file6.txt"
git sparse-checkout add "/file7.txt"
git sparse-checkout add "/file8.txt"
git sparse-checkout add "/file9.txt"
git sparse-checkout list
/file1.txt
/file2.txt
/file6.txt
/file7.txt
/file8.txt
/file9.txt
git checkout
ls -al
total 0
drwxr-xr-x@  9 joelkim  staff  288 Sep  3 22:34 .
drwxr-xr-x@ 13 joelkim  staff  416 Sep  3 22:34 ..
drwxr-xr-x@ 13 joelkim  staff  416 Sep  3 22:34 .git
-rw-r--r--@  1 joelkim  staff    0 Sep  3 22:34 file1.txt
-rw-r--r--@  1 joelkim  staff    0 Sep  3 22:34 file2.txt
-rw-r--r--@  1 joelkim  staff    0 Sep  3 22:34 file6.txt
-rw-r--r--@  1 joelkim  staff    0 Sep  3 22:34 file7.txt
-rw-r--r--@  1 joelkim  staff    0 Sep  3 22:34 file8.txt
-rw-r--r--@  1 joelkim  staff    0 Sep  3 22:34 file9.txt
git sparse-checkout add "/file10.txt"
git checkout
git sparse-checkout list
/file1.txt
/file2.txt
/file6.txt
/file7.txt
/file8.txt
/file9.txt
/file10.txt
ls -al
total 0
drwxr-xr-x@  9 joelkim  staff  288 Sep  3 22:34 .
drwxr-xr-x@ 13 joelkim  staff  416 Sep  3 22:34 ..
drwxr-xr-x@ 13 joelkim  staff  416 Sep  3 22:34 .git
-rw-r--r--@  1 joelkim  staff    0 Sep  3 22:34 file1.txt
-rw-r--r--@  1 joelkim  staff    0 Sep  3 22:34 file2.txt
-rw-r--r--@  1 joelkim  staff    0 Sep  3 22:34 file6.txt
-rw-r--r--@  1 joelkim  staff    0 Sep  3 22:34 file7.txt
-rw-r--r--@  1 joelkim  staff    0 Sep  3 22:34 file8.txt
-rw-r--r--@  1 joelkim  staff    0 Sep  3 22:34 file9.txt