Vivasoft-logo

ā§§ā§Ļ.ā§Ē āĻ—āĻŋāϟ āχāĻ¨ā§āϟāĻžāϰāύāĻžāϞāϏ – āĻĒā§āϝāĻžāĻ•āĻĢāĻžāχāϞāϏ

 

āĻĒā§āϝāĻžāĻ•āĻĢāĻžāχāϞāϏ

āφāĻĒāύāĻŋ āϝāĻĻāĻŋ āĻĒā§‚āĻ°ā§āĻŦāĻŦāĻ°ā§āϤ⧀ āĻ…āĻ§ā§āϝāĻžā§Ÿ āĻĨ⧇āĻ•ā§‡Â  āϏāĻŦāϗ⧁āϞ⧋ āωāĻĻāĻžāĻšāϰāϪ⧇āϰ āύāĻŋāĻ°ā§āĻĻ⧇āĻļāĻžāĻŦāϞ⧀ āĻ…āύ⧁āϏāϰāĻŖ āĻ•āϰ⧇ āĻĨāĻžāϕ⧇āύ, āϤāĻžāĻšāϞ⧇ āφāĻĒāύāĻžāϰ āĻāĻ–āύ ā§§ā§§ āϟāĻŋ āĻ…āĻŦāĻœā§‡āĻ•ā§āϟāϏ – āϚāĻžāϰāϟāĻŋ āĻŦā§āϞāĻŦ, āϤāĻŋāύāϟāĻŋ āĻŸā§āϰāĻŋ, āϤāĻŋāύāϟāĻŋ āĻ•āĻŽāĻŋāϟ āĻāĻŦāĻ‚ āĻāĻ•āϟāĻŋ āĻŸā§āϝāĻžāĻ— āϏāĻš āĻāĻ•āϟāĻŋ āĻĒāϰ⧀āĻ•ā§āώāĻžāĻŽā§‚āϞāĻ• āĻ—āĻŋāϟ āϰāĻŋāĻĒā§‹āϜāĻŋāϟāϰāĻŋ āĻĨāĻžāĻ•āĻž āωāϚāĻŋāϤāĨ¤ āϧāϰ⧇ āύ⧇āĻ“ā§ŸāĻž āϝāĻžāĻ• āĻāχ āĻĒāĻ°ā§āϝāĻ¨ā§āϤ āϏāĻŦ āĻ āĻŋāĻ•āĻ āĻžāĻ•-āχ āφāϛ⧇āĨ¤

				
					$ find .git/objects -type f
.git/objects/01/55eb4229851634a0f03eb265b69f5a2d56f341 # tree 2
.git/objects/1a/410efbd13591db07496601ebc7a059dd55cfe9 # commit 3
.git/objects/1f/7a7a472abf3dd9643fd615f6da379c4acb3e3a # test.txt v2
.git/objects/3c/4e9cd789d88d8d89c1073707c3585e41b0e614 # tree 3
.git/objects/83/baae61804e65cc73a7201a7252750c76066a30 # test.txt v1
.git/objects/95/85191f37f7b0fb9444f35a9bf50de191beadc2 # tag
.git/objects/ca/c0cab538b970a37ea1e769cbbde608743bc96d # commit 2
.git/objects/d6/70460b4b4aece5915caf5c68d12f560a9fe3e4 # 'test content'
.git/objects/d8/329fc1cc938780ffdd9f94e0d364e0ea74f579 # tree 1
.git/objects/fa/49b077972391ad58037050f2a75f74e3671e92 # new.txt
.git/objects/fd/f4fc3344e67ab068f836878b6c4951e3b15f3d # commit 1

				
			

āĻ—āĻŋāϟ āĻāχ āĻĢāĻžāχāϞāϗ⧁āϞāĻŋāϰ āĻ•āĻ¨ā§āĻŸā§‡āĻ¨ā§āϟāĻ•ā§‡Â  zlib āĻĻāĻŋā§Ÿā§‡ āϏāĻ‚āϕ⧁āϚāĻŋāϤ āĻ•āϰ⧇ āĻāĻŦāĻ‚ āĻāĻ•ā§āώ⧇āĻ¤ā§āϰ⧇ āφāĻĒāύāĻžāϰ āϖ⧁āĻŦ āĻŦ⧇āĻļāĻŋ āϜāĻžā§ŸāĻ—āĻžāϰ āĻĻāϰāĻ•āĻžāϰ āĻšā§Ÿ āύāĻž, āĻĢāĻžāχāϞāϗ⧁āϞāĻŋ āϏāĻŽā§āĻŽāĻŋāϞāĻŋāϤāĻ­āĻžāĻŦ⧇ āĻŽāĻžāĻ¤ā§āϰ ⧝⧍ā§ĢāĻŦāĻžāχāϟ āϜāĻžā§ŸāĻ—āĻž āĻ¨ā§‡ā§ŸāĨ¤ āĻāĻ–āύ āφāĻĒāύāĻŋ āĻ—āĻŋāϟ-āĻāϰ āĻāĻ•āϟāĻŋ āφāĻ•āĻ°ā§āώāĻŖā§€āϝāĻŧ āĻŦ⧈āĻļāĻŋāĻˇā§āĻŸā§āϝ āĻĒāϰ⧀āĻ•ā§āώāĻž āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āϰāĻŋāĻĒā§‹āϜāĻŋāϟāϰāĻŋāϤ⧇ āφāϰāĻ“ āĻ•āĻŋāϛ⧁ āĻŦāĻĄāĻŧ āĻ•āĻ¨ā§āĻŸā§‡āĻ¨ā§āϟ āϝ⧁āĻ•ā§āϤ āĻ•āϰāĻŦ⧇āύāĨ¤ āĻĒāϰ⧀āĻ•ā§āώāĻž āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ, āφāĻŽāϰāĻž Git āϞāĻžāχāĻŦā§āϰ⧇āϰāĻŋ āĻĨ⧇āϕ⧇ repo.rb āĻĢāĻžāχāϞ āϝ⧋āĻ— āĻ•āϰāĻŦ — āϝ⧇āϟāĻŋ āĻāĻ•āϟāĻŋ ⧍⧍āĻ•āĻŋāϞ⧋āĻŦāĻžāχāϟ āφāĻ•āĻžāϰ⧇āϰ āϏ⧋āĻ°ā§āϏ āϕ⧋āĻĄ āĻĢāĻžāχāϞāσ

				
					$ curl https://raw.githubusercontent.com/mojombo/grit/master/lib/grit/repo.rb > repo.rb
$ git checkout master
$ git add repo.rb
$ git commit -m 'Create repo.rb'
[master 484a592] Create repo.rb
3 files changed, 709 insertions(+), 2 deletions(-)
delete mode 100644 bak/test.txt
create mode 100644 repo.rb
rewrite test.txt (100%)

				
			

āφāĻĒāύāĻŋ āϝāĻĻāĻŋ āĻĢāϞāĻ¸ā§āĻŦāϰ⧂āĻĒ āĻŸā§āϰāĻŋ āϟāĻŋ āĻĻ⧇āϖ⧇āύ, āφāĻĒāύāĻŋ SHA-1 āĻāϰ āĻŽāĻžāύ āĻĻ⧇āĻ–āϤ⧇ āĻĒāĻžāĻŦ⧇āύ āϝāĻž āύāϤ⧁āύ repo.rb āĻŦā§āϞāĻŦ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸā§‡āϰ āϜāĻ¨ā§āϝ āϤ⧈āϰāĻŋ āĻšāϝāĻŧ⧇āϛ⧇āσ

				
					$ git cat-file -p master^{tree}
100644 blob fa49b077972391ad58037050f2a75f74e3671e92      new.txt
100644 blob 033b4468fa6b2a9547a70d88d1bbe8bf3f9ed0d5      repo.rb
100644 blob e3f094f522629ae358806b17daf78246c27c007b      test.txt

				
			

āĻ…āĻŦāĻœā§‡āĻ•ā§āϟāϟāĻŋāϰ āφāĻ•āĻžāϰ āĻ•āϤāϟ⧁āϕ⧁ āϤāĻž āĻĻ⧇āĻ–āĻžāϰ āϜāĻ¨ā§āϝ git cat-file āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻŦā§āϝāĻžāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āĻĒāϰ⧇āύāσ

				
					$ git cat-file -s 033b4468fa6b2a9547a70d88d1bbe8bf3f9ed0d5
22044

				
			

āĻāĻ–āύ āφāĻĒāύāĻŋ repo.rb āĻĢāĻžāχāϞāϟāĻŋ āĻĒ⧁āύāϰāĻžā§Ÿ āϏāĻŽā§āĻĒāĻžāĻĻāύāĻž āĻ•āϰ⧇āύ āĻāĻŦāĻ‚ āĻĒāϰāĻŦāĻ°ā§āϤ⧀āϤ⧇ āĻ•āĻŽāĻŋāϟ āĻ•āϰ⧇ āĻĻ⧇āϖ⧇āύ āĻ•āĻŋ āĻšā§Ÿāσ

				
					$ echo '# testing' >> repo.rb
$ git commit -am 'Modify repo.rb a bit'
[master 2431da6] Modify repo.rb a bit
1 file changed, 1 insertion(+)

				
			

āϏāĻ°ā§āĻŦāĻļ⧇āώ āĻ•āĻŽāĻŋāϟ āĻāϰ āĻ•āĻžāϰāϪ⧇ āφāϗ⧇āϰ āĻŸā§āϰāĻŋ āϟāĻŋ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāĻŋāϤ āĻšā§Ÿā§‡āϛ⧇ āϝāĻž SHA-1 āĻāϰ āĻŽāĻžāύ āĻĻ⧇āϖ⧇ āĻŦ⧁āĻāϤ⧇ āĻĒāĻžāϰāϛ⧇āύāσ

				
					$ git cat-file -p master^{tree}
100644 blob fa49b077972391ad58037050f2a75f74e3671e92      new.txt
100644 blob b042a60ef7dff760008df33cee372b945b6e884e      repo.rb
100644 blob e3f094f522629ae358806b17daf78246c27c007b      test.txt

				
			

repo.rb āĻāϰ āĻŦā§āϞāĻŦāϟāĻŋ āĻāĻ–āύ āĻāĻ•āϟāĻŋ āĻ­āĻŋāĻ¨ā§āύ āĻŦā§āϞāĻŦ⧇ āĻĒāϰāĻŋāĻŖāϤ āĻšā§Ÿā§‡āϛ⧇, āϝāĻžāϰ āĻŽāĻžāύ⧇ āĻšāϞ – āφāĻĒāύāĻŋ āϝāĻĻāĻŋāĻ“ ā§Ēā§Ļā§Ļ-āϞāĻžāχāύ⧇āϰ āĻĢāĻžāχāϞāϟāĻŋāϰ āĻļ⧇āώ⧇ āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āĻāĻ•āϟāĻŋ āϞāĻžāχāύ āϝ⧁āĻ•ā§āϤ āĻ•āϰ⧇āϛ⧇āύ,āϤāĻŦ⧁āĻ“ āĻ—āĻŋāϟ āĻāχ āύāϤ⧁āύ āĻ•āĻ¨ā§āĻŸā§‡āĻ¨ā§āϟāϟāĻŋāϕ⧇ āϏāĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻāĻ•āϟāĻŋ āύāϤ⧁āύ āĻ…āĻŦāĻœā§‡āĻ•ā§āϟ āĻšāĻŋāϏ⧇āĻŦ⧇ āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻ•āϰ⧇āϛ⧇āĨ¤

				
					$ git cat-file -s b042a60ef7dff760008df33cee372b945b6e884e
22054

				
			

āφāĻĒāύāĻžāϰ āĻĄāĻŋāĻ¸ā§āϕ⧇ āĻĻ⧁āϟāĻŋ āĻĒā§āϰāĻžāϝāĻŧ āĻ…āĻ­āĻŋāĻ¨ā§āύ ⧍⧍āĻ•āĻŋāϞ⧋āĻŦāĻžāχāϟ āφāĻ•āĻžāϰ⧇āϰ āĻ…āĻŦāĻœā§‡āĻ•ā§āϟ āϰāϝāĻŧ⧇āϛ⧇ (āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻĒā§āϰāĻžāϝāĻŧ ā§­āĻ•āĻŋāϞ⧋āĻŦāĻžāχāϟ āφāĻ•āĻžāϰ⧇ āϏāĻ‚āϕ⧁āϚāĻŋāϤ āĻ…āĻŦāĻ¸ā§āĻĨāĻžā§Ÿ āφāϛ⧇)āĨ¤ āĻāϟāĻž āĻ•āĻŋ āĻ­āĻžāϞ āĻšāϤ āύāĻž āϝāĻĻāĻŋ āĻ—āĻŋāϟ āĻāĻĻ⧇āϰ āĻāĻ•āϟāĻŋāϕ⧇ āϏāĻŽā§āĻĒā§‚āĻ°ā§āĻŖāϰ⧂āĻĒ⧇ āĻāĻŦāĻ‚ āĻ…āĻ¨ā§āϝāϟāĻŋāϕ⧇ āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āφāϗ⧇āϰ āĻ…āĻŦāĻœā§‡āĻ•ā§āϟāϟāĻŋāϰ āĻĄā§‡āĻ˛ā§āϟāĻž āĻšāĻŋāϏ⧇āĻŦ⧇ āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻ•āϰāϤ⧇ āĻĒāĻžāϰāϤ?

​

āĻ—āĻŋāϟ āφāϏāϞ⧇āχ āĻāϟāĻž āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āϝ⧇ āĻĒā§āϰāĻžāĻĨāĻŽāĻŋāĻ• āĻĢāϰāĻŽā§āϝāĻžāĻŸā§‡ āĻ—āĻŋāϟ āĻĄāĻŋāĻ¸ā§āϕ⧇ āĻ…āĻŦāĻœā§‡āĻ•ā§āϟ āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻ•āϰ⧇ āϤāĻžāϕ⧇ “āϞ⧁āϜ”(loose) āĻ…āĻŦāĻœā§‡āĻ•ā§āϟ āĻĢāϰāĻŽā§āϝāĻžāϟ āĻŦāϞāĻž āĻšāϝāĻŧāĨ¤ āϝāĻžāχāĻšā§‹āĻ•, āĻŽāĻžāĻā§‡ āĻŽāĻžāĻā§‡ āĻ—āĻŋāϟ āĻ¸ā§āĻĨāĻžāύ āĻŦāĻžāρāϚāĻžāϤ⧇ āĻāĻŦāĻ‚ āφāϰāĻ“ āĻ­āĻžāϞ⧋ āĻĢāϞāĻžāĻĢāϞ⧇āϰ āϜāĻ¨ā§āϝ “āĻĒā§āϝāĻžāĻ•āĻĢāĻžāχāϞ”(Packfile) āύāĻžāĻŽā§‡ āĻāĻ•āϟāĻŋ āĻāĻ•āĻ• āĻŦāĻžāχāύāĻžāϰāĻŋ āĻĢāĻžāχāϞ⧇ āĻāχ āĻ•āϝāĻŧ⧇āĻ•āϟāĻŋ āĻ…āĻŦāĻœā§‡āĻ•ā§āϟāϕ⧇ āĻĒā§āϝāĻžāĻ• āφāĻĒ āĻ•āϰ⧇āĨ¤ āϰāĻŋāĻĒā§‹āϜāĻŋāϟāϰāĻŋāϤ⧇ āĻ…āύ⧇āĻ•āϗ⧁āϞāĻŋ “āϞ⧁āϜ” āĻ…āĻŦāĻœā§‡āĻ•ā§āϟ āĻĨāĻžāĻ•āϞ⧇, āφāĻĒāύāĻŋ āϝāĻĻāĻŋ āĻŽā§āϝāĻžāύ⧁āϝāĻŧāĻžāϞāĻŋ git gc āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āϚāĻžāϞāĻžāύ āĻŦāĻž āφāĻĒāύāĻŋ āϝāĻĻāĻŋ āĻāĻ•āϟāĻŋ āϰāĻŋāĻŽā§‹āϟ āϏāĻžāĻ°ā§āĻ­āĻžāϰ⧇ push(git push) āĻĻ⧇āύ āϤāĻŦ⧇ āĻ—āĻŋāϟ āĻāχ āĻĒā§āϝāĻžāĻ•āφāĻĒ āĻ•āϰ⧇ āĻĨāĻžāϕ⧇āĨ¤ āĻāĻ–āύ āφāĻĒāύāĻŋ git gc āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻŦā§āϝāĻžāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻŽā§āϝāĻžāύ⧁āϝāĻŧāĻžāϞāĻŋ āĻ—āĻŋāϟāϕ⧇ āĻ…āĻŦāĻœā§‡āĻ•ā§āϟ āĻĒā§āϝāĻžāĻ• āφāĻĒ āĻ•āϰāϤ⧇ āĻŦāϞāϤ⧇ āĻĒāĻžāϰ⧇āύāσ

				
					$ git gc
Counting objects: 18, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (14/14), done.
Writing objects: 100% (18/18), done.
Total 18 (delta 3), reused 0 (delta 0)

				
			

āφāĻĒāύāĻŋ āϝāĻĻāĻŋ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸā§‡āϗ⧁āϞ⧋āϰ āĻĄāĻŋāϰ⧇āĻ•ā§āϟāϰāĻŋāϤ⧇ āϤāĻžāĻ•āĻžāύ āϤāĻŦ⧇ āĻĻ⧇āĻ–āϤ⧇ āĻĒāĻžāĻŦ⧇āύ āϝ⧇ āĻŦ⧇āĻļāĻŋāϰāĻ­āĻžāĻ— āĻ…āĻŦāĻœā§‡āĻ•ā§āϟ-āχ āϚāϞ⧇ āϗ⧇āϛ⧇ āĻāĻŦāĻ‚ āĻĢāĻžāχāϞāϗ⧁āϞāĻŋāϰ āĻāĻ•āϟāĻŋ āύāϤ⧁āύ āĻœā§‹āĻĄāĻŧāĻž āϤ⧈āϰāĻŋ āĻšāϝāĻŧ⧇āϛ⧇āσ

				
					$ find .git/objects -type f
.git/objects/bd/9dbf5aae1a3862dd1526723246b20206e5fc37
.git/objects/d6/70460b4b4aece5915caf5c68d12f560a9fe3e4
.git/objects/info/packs
.git/objects/pack/pack-978e03944f5c581011e6998cd0e9e30000905586.idx
.git/objects/pack/pack-978e03944f5c581011e6998cd0e9e30000905586.pack

				
			

āϝ⧇ āĻ…āĻŦāĻœā§‡āĻ•ā§āϟāϗ⧁āϞāĻŋ āĻ…āĻŦāĻļāĻŋāĻˇā§āϟ āφāϛ⧇ āϏ⧇āϗ⧁āϞāĻŋ āĻšāϞ āĻŦā§āϞāĻŦ āϝāĻž āϕ⧋āύāĻ“ āĻ•āĻŽāĻŋāϟ āĻĻā§āĻŦāĻžāϰāĻž āύāĻŋāĻ°ā§āĻĻ⧇āĻļāĻŋāϤ āύāϝāĻŧ — āĻāχ āĻ•ā§āώ⧇āĻ¤ā§āϰ⧇, “what is up, doc?” āωāĻĻāĻžāĻšāϰāĻŖ āĻāĻŦāĻ‚ “test content” āωāĻĻāĻžāĻšāϰāĻŖ blobs āφāĻĒāύāĻŋ  āφāϗ⧇ āϤ⧈āϰāĻŋ āĻ•āϰ⧇āĻ›āĻŋāϞ⧇āĻ¨Â  (ā§§ā§Ļ.⧍ āĻšā§āϝāĻžāĻĒā§āϟāĻžāϰ āĻ)āĨ¤ āϝ⧇āĻšā§‡āϤ⧁ āϏ⧇āϗ⧁āϞāĻŋāϕ⧇ āĻ•āĻ–āύāχ āϕ⧋āύ āĻ•āĻŽāĻŋāĻŸā§‡ āϝ⧁āĻ•ā§āϤ āĻ•āϰāĻž āĻšā§ŸāύāĻŋ, āϤāĻžāχ āϏ⧇āϗ⧁āϞāĻŋ dangling āĻ…āĻŦāĻ¸ā§āĻĨāĻžā§Ÿ āφāϛ⧇ āĻāĻŦāĻ‚ āύāϤ⧁āύ āĻĒā§āϝāĻžāĻ•āĻĢāĻžāχāϞ⧇ āĻĒā§āϝāĻžāĻ• āφāĻĒ āĻšā§Ÿ āύāĻŋāĨ¤

​

āĻ…āĻ¨ā§āϝāĻžāĻ¨ā§āϝ āĻĢāĻžāχāϞāϗ⧁āϞāĻŋ āĻšāĻ˛Â  āĻāĻ•āϟāĻŋ āύāϤ⧁āύ āĻĒā§āϝāĻžāĻ•āĻĢāĻžāχāϞ āĻāĻŦāĻ‚ āĻāĻ•āϟāĻŋ āχāύāĻĄā§‡āĻ•ā§āϏāĨ¤ āĻĒā§āϝāĻžāĻ•āĻĢāĻžāχāϞ āĻšāϞ āĻāĻ•āϟāĻŋ āĻāĻ•āĻ• āĻĢāĻžāχāϞ āϝāĻžāϤ⧇ āφāĻĒāύāĻžāϰ āĻĢāĻžāχāϞ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻĨ⧇āϕ⧇ āϏāϰāĻžāύ⧋ āϏāĻŽāĻ¸ā§āϤ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸā§‡āϰ āĻŦāĻŋāώāϝāĻŧāĻŦāĻ¸ā§āϤ⧁ āĻĨāĻžāϕ⧇āĨ¤ āχāύāĻĄā§‡āĻ•ā§āϏ āĻšāϞ āĻāĻ•āϟāĻŋ āĻĢāĻžāχāϞ āϝ⧇āĻ–āĻžāύ⧇ āĻĒā§āϝāĻžāĻ•āĻĢāĻžāχāϞ⧇āϰ āĻ…āĻĢāϏ⧇āϟ āĻĨāĻžāϕ⧇⧇ āϝāĻžāϤ⧇ āφāĻĒāύāĻŋ āĻĻā§āϰ⧁āϤ āĻāĻ•āϟāĻŋ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸā§‡āϰ āϏāĻ¨ā§āϧāĻžāύ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύāĨ¤ āĻĻāĻžāϰ⧁āĻŖ āĻŦā§āϝāĻžāĻĒāĻžāϰ āĻšāϞ – āϝāĻĻāĻŋāĻ“ āφāĻĒāύāĻŋ gc āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āϚāĻžāϞāĻžāύ⧋āϰ āφāϗ⧇ āĻĄāĻŋāĻ¸ā§āϕ⧇ āĻĨāĻžāĻ•āĻž āĻ…āĻŦāĻœā§‡āĻ•ā§āϟāϗ⧁āϞ⧋ āϏāĻŽā§āĻŽāĻŋāϞāĻŋāϤāĻ­āĻžāĻŦ⧇ āĻĒā§āϰāĻžāϝāĻŧ ā§§ā§ĢāĻ•āĻŋāϞ⧋āĻŦāĻžāχāϟ āφāĻ•āĻžāϰ⧇āϰ āĻ›āĻŋāϞ, āĻ•āĻŋāĻ¨ā§āϤ⧁ āύāϤ⧁āύ āĻĒā§āϝāĻžāĻ•āĻĢāĻžāχāϞāϟāĻŋ āĻŽāĻžāĻ¤ā§āϰ ā§­āĻ•āĻŋāϞ⧋āĻŦāĻžāχāϟ āφāĻ•āĻžāϰ⧇āϰ āĻšā§Ÿāϛ⧇āĨ¤ āφāĻĒāύāĻŋ āĻ…āĻŦāĻœā§‡āĻ•ā§āϟāϗ⧁āϞ⧋ āĻĒā§āϝāĻžāĻ• āĻ•āϰ⧇ āĻĄāĻŋāĻ¸ā§āϕ⧇āϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ…āĻ°ā§āϧ⧇āϕ⧇ āύāĻžāĻŽāĻŋā§Ÿā§‡ āĻāύ⧇āϛ⧇āύāĨ¤

​

āĻ—āĻŋāϟ āĻ•āĻŋāĻ­āĻžāĻŦ⧇ āĻāχ āĻ•āĻžāϜ āĻ•āϰ⧇? āĻ—āĻŋāϟ āϝāĻ–āύ āĻ…āĻŦāĻœā§‡āĻ•ā§āϟ āĻĒā§āϝāĻžāĻ• āĻ•āϰ⧇, āϤāĻ–āύ āϏ⧇āχ āĻĢāĻžāχāϞāϗ⧁āϞāĻŋāϰ āĻ…āϪ⧁āϏāĻ¨ā§āϧāĻžāύ āĻ•āϰ⧇ āϝ⧇āϗ⧁āϞāĻŋāϰ āύāĻžāĻŽ āĻāĻŦāĻ‚ āφāĻ•āĻžāϰ āĻāĻ•āχ āϰāĻ•āĻŽ, āĻāĻŦāĻ‚ āĻĢāĻžāχāϞ⧇āϰ āĻāĻ•āϟāĻŋ āϏāĻ‚āĻ¸ā§āĻ•āϰāĻŖ āĻĨ⧇āϕ⧇ āĻĒāϰāĻŦāĻ°ā§āϤ⧀ āϏāĻ‚āĻ¸ā§āĻ•āϰāϪ⧇ āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āĻĄā§‡āĻ˛ā§āϟāĻž āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻ•āϰ⧇āĨ¤ āφāĻĒāύāĻŋ āĻĒā§āϝāĻžāĻ•āĻĢāĻžāχāϞāϟāĻŋ āĻĻ⧇āĻ–āϤ⧇ āĻĒāĻžāϰ⧇āύ āĻāĻŦāĻ‚ āĻ¸ā§āĻĨāĻžāύ āĻŦāĻžāρāϚāĻžāϤ⧇ āĻ—āĻŋāϟ āϕ⧀ āĻ•āϰ⧇āϛ⧇ āϤāĻž āĻĻ⧇āĻ–āϤ⧇ āĻĒāĻžāϰ⧇āύāĨ¤ git verify-pack āĻĒā§āϞāĻžāĻŽā§āĻŦāĻŋāĻ‚ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ, āϕ⧀ āĻĒā§āϝāĻžāĻ•āφāĻĒ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇ āϤāĻžāϰ āĻāĻ•āϟāĻž āĻŦāĻŋāĻŦāϰāύ āĻĻ⧇āϝāĻŧāσ

​

				
					$ git verify-pack -v .git/objects/pack/pack-978e03944f5c581011e6998cd0e9e30000905586.idx
2431da676938450a4d72e260db3bf7b0f587bbc1 commit 223 155 12
69bcdaff5328278ab1c0812ce0e07fa7d26a96d7 commit 214 152 167
80d02664cb23ed55b226516648c7ad5d0a3deb90 commit 214 145 319
43168a18b7613d1281e5560855a83eb8fde3d687 commit 213 146 464
092917823486a802e94d727c820a9024e14a1fc2 commit 214 146 610
702470739ce72005e2edff522fde85d52a65df9b commit 165 118 756
d368d0ac0678cbe6cce505be58126d3526706e54 tag    130 122 874
fe879577cb8cffcdf25441725141e310dd7d239b tree   136 136 996
d8329fc1cc938780ffdd9f94e0d364e0ea74f579 tree   36 46 1132
deef2e1b793907545e50a2ea2ddb5ba6c58c4506 tree   136 136 1178
d982c7cb2c2a972ee391a85da481fc1f9127a01d tree   6 17 1314 1 \
 deef2e1b793907545e50a2ea2ddb5ba6c58c4506
3c4e9cd789d88d8d89c1073707c3585e41b0e614 tree   8 19 1331 1 \
 deef2e1b793907545e50a2ea2ddb5ba6c58c4506
0155eb4229851634a0f03eb265b69f5a2d56f341 tree   71 76 1350
83baae61804e65cc73a7201a7252750c76066a30 blob   10 19 1426
fa49b077972391ad58037050f2a75f74e3671e92 blob   9 18 1445
b042a60ef7dff760008df33cee372b945b6e884e blob   22054 5799 1463
033b4468fa6b2a9547a70d88d1bbe8bf3f9ed0d5 blob   9 20 7262 1 \
 b042a60ef7dff760008df33cee372b945b6e884e
1f7a7a472abf3dd9643fd615f6da379c4acb3e3a blob   10 19 7282
non delta: 15 objects
chain length = 1: 3 objects
.git/objects/pack/pack-978e03944f5c581011e6998cd0e9e30000905586.pack: ok

				
			

āĻāĻ–āĻžāύ⧇ 033b4 āĻŦā§āϞāĻŦ, āϝ⧇āϟāĻŋ   repo.rb āĻĢāĻžāχāϞ⧇āϰ āĻĒā§āϰāĻĨāĻŽ āϏāĻ‚āĻ¸ā§āĻ•āϰāĻŖ āĻ›āĻŋāϞ, āϏ⧇āϟāĻŋ b042a āĻŦā§āϞāĻŦāϕ⧇ āωāĻ˛ā§āϞ⧇āĻ– āĻ•āϰ⧇āϛ⧇, āϝāĻž āĻšāϞ āĻĢāĻžāχāϞ⧇āϰ āĻĻā§āĻŦāĻŋāϤ⧀āϝāĻŧ āϏāĻ‚āĻ¸ā§āĻ•āϰāĻŖāĨ¤ āφāωāϟāĻĒ⧁āĻŸā§‡āϰ āϤ⧃āϤ⧀āϝāĻŧ āĻ•āϞāĻžāĻŽāϟāĻŋ āĻĒā§āϝāĻžāϕ⧇āϰ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸā§‡āϰ āφāĻ•āĻžāϰ āĻŦāϞ⧇ āĻĻā§‡ā§Ÿ, āϤāĻžāχ āφāĻĒāύāĻŋ āĻĻ⧇āĻ–āϤ⧇ āĻĒāĻžāĻšā§āϛ⧇āύ āϝ⧇ b042a āĻĢāĻžāχāϞ⧇āϰ ⧍⧍āĻ•āĻŋāϞ⧋āĻŦāĻžāχāϟ āϜāĻžā§ŸāĻ—āĻž āύāĻŋā§Ÿā§‡āĻ›āĻŋāϞ, āĻ•āĻŋāĻ¨ā§āϤ⧁ 033b4 āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ ⧝āĻŦāĻžāχāϟ āϜāĻžā§ŸāĻ—āĻž āύāĻŋā§Ÿā§‡āϛ⧇āĨ¤ āφāϰāĻ“ āĻŽāϜāĻžāϰ āĻŦāĻŋāώāϝāĻŧ āĻšāϞ āĻāχ āϝ⧇ āĻĢāĻžāχāϞāϟāĻŋāϰ āĻĻā§āĻŦāĻŋāϤ⧀āϝāĻŧ āϏāĻ‚āĻ¸ā§āĻ•āϰāĻŖ āĻ…āĻ•ā§āώāϤāĻ­āĻžāĻŦ⧇ āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻ•āϰāĻž āĻšā§Ÿā§‡āϛ⧇, āϝ⧇āĻ–āĻžāύ⧇ āĻŽā§‚āϞ āϏāĻ‚āĻ¸ā§āĻ•āϰāĻŖāϟāĻŋ āĻāĻ•āϟāĻŋ āĻĄā§‡āĻ˛ā§āϟāĻž āĻšāĻŋāϏāĻžāĻŦ⧇ āϏāĻ‚āϰāĻ•ā§āώāĻŋāϤ āφāĻ›ā§‡â€‰â€”â€‰āĻāϰ āĻ•āĻžāϰāĻŖ āĻšāϞ, āφāĻĒāύāĻžāϰ āĻŦ⧇āĻļāĻŋāϰāĻ­āĻžāĻ— āϏāĻŽā§Ÿā§‡ āĻĢāĻžāχāϞāϟāĻŋāϰ āϏāĻžāĻŽā§āĻĒā§āϰāϤāĻŋāĻ•āϤāĻŽ āϏāĻ‚āĻ¸ā§āĻ•āϰāĻŖ āĻĻā§āϰ⧁āϤ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ⧇āϰ āĻĒā§āϰāϝāĻŧā§‹āϜāύ āĻšāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤

​

āϚāĻŽā§ŽāĻ•āĻžāϰ āĻŦāĻŋāώ⧟ āĻāχ āϝ⧇, āĻāϟāĻŋ āϝ⧇āϕ⧋āύ⧋ āϏāĻŽāϝāĻŧ āϰāĻŋāĻĒā§āϝāĻžāĻ•āĻĄ āĻ•āϰāĻž āϝāĻžā§ŸāĨ¤ āĻ—āĻŋāϟ āĻŽāĻžāĻā§‡ āĻŽāĻžāĻāχ⧇ āĻ¸ā§āĻĨāĻžāύ āĻŦāĻžāρāϚāĻžāύ⧋āϰ āϜāĻ¨ā§āϝ āφāĻĒāύāĻžāϰ āĻĄāĻžāϟāĻžāĻŦ⧇āϏāϕ⧇ āĻ¸ā§āĻŦāϝāĻŧāĻ‚āĻ•ā§āϰāĻŋāϝāĻŧāĻ­āĻžāĻŦ⧇ āϰāĻŋāĻĒā§āϝāĻžāĻ• āĻ•āϰāĻŦ⧇, āϤāĻŦ⧇ āφāĻĒāύāĻŋ āύāĻŋāϜ āĻĨ⧇āϕ⧇āĻ‡Â  git gc āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻŦā§āϝāĻžāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āϝ⧇āϕ⧋āύ āϏāĻŽāϝāĻŧ āϰāĻŋāĻĒā§āϝāĻžāĻ• āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύāĨ¤