Menu
ā§§ā§Ļ.ā§ āĻ°āĻā§āĻˇāĻ¨āĻžāĻŦā§āĻā§āĻˇāĻŖ āĻ āĻ¤āĻĨā§āĻ¯āĻžāĻĻāĻŋ āĻĒā§āĻ¨āĻ°ā§āĻĻā§āĻ§āĻžāĻ°
āĻ°āĻā§āĻˇāĻŖāĻžāĻŦā§āĻā§āĻˇāĻŖ āĻāĻŦāĻ āĻĄā§āĻāĻž āĻĒā§āĻ¨āĻ°ā§āĻĻā§āĻ§āĻžāĻ°:
āĻŽāĻžāĻā§ āĻŽāĻžāĻā§, āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻŋāĻā§ āĻā§āĻ˛āĻŋāĻ¨āĻāĻĒ āĻāĻ°āĻ¤ā§ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§ – āĻāĻāĻāĻŋ āĻ°āĻŋāĻĒā§āĻāĻŋāĻāĻ°āĻŋāĻā§ āĻāĻ°ā§ āĻŦā§āĻļāĻŋ āĻāĻŽā§āĻĒā§āĻ¯āĻžāĻā§āĻ āĻāĻ°āĻ¤ā§ āĻāĻŋāĻāĻŦāĻž āĻšāĻžāĻ°āĻžāĻ¨ā§ āĻĄāĻžāĻāĻž āĻĢāĻŋāĻ°ā§ āĻĒā§āĻ¤ā§ āĻāĻŽā§āĻĒāĻ°ā§āĻā§āĻĄ āĻ°āĻŋāĻĒā§āĻāĻŋāĻā§āĻ°āĻŋāĻā§ āĻā§āĻ˛āĻŋāĻ¨-āĻāĻĒ āĻāĻ°āĻ¤ā§ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻ¨āĻŋāĻā§ āĻāĻ āĻĻā§āĻļā§āĻ¯āĻĒāĻ āĻ¨āĻŋā§ā§ āĻāĻ˛ā§āĻāĻ¨āĻž āĻāĻ°āĻž āĻšāĻŦā§āĨ¤āĻ°āĻā§āĻˇāĻŖāĻžāĻŦā§āĻā§āĻˇāĻŖ:
āĻŽāĻžāĻā§ āĻŽāĻžāĻā§, āĻāĻŋāĻ āĻ¸ā§āĻŦā§āĻāĻā§āĻ°āĻŋā§āĻāĻžāĻŦā§ âauto gcâ āĻāĻŽāĻžāĻ¨ā§āĻĄāĻāĻŋ āĻ°āĻžāĻ¨ āĻāĻ°ā§āĨ¤ āĻŦā§āĻļāĻŋāĻ°āĻāĻžāĻ āĻ¸āĻŽā§ āĻāĻ āĻāĻŽāĻžāĻ¨ā§āĻĄāĻāĻŋ āĻāĻŋāĻā§āĻ āĻāĻ°ā§ āĻ¨āĻžāĨ¤ āĻ¯āĻžāĻāĻšā§āĻ, āĻ¯āĻĻāĻŋ āĻ āĻ¨ā§āĻāĻā§āĻ˛āĻŋ āĻ˛ā§āĻ āĻ āĻŦāĻā§āĻā§āĻ (āĻĒā§āĻ¯āĻžāĻāĻĢāĻžāĻāĻ˛ā§ āĻ¨āĻ¯āĻŧ āĻāĻŽāĻ¨ āĻ āĻŦāĻā§āĻā§āĻ) āĻŦāĻž āĻ āĻ¨ā§āĻāĻā§āĻ˛āĻŋ āĻĒā§āĻ¯āĻžāĻāĻĢāĻžāĻāĻ˛ āĻĨāĻžāĻā§, āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻŋāĻ āĻāĻāĻāĻŋ āĻĒā§āĻ°ā§āĻŖāĻžāĻā§āĻ āĻāĻŋāĻ gc āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻāĻžāĻ˛ā§ āĻāĻ°ā§ āĨ¤ “gc” āĻŦāĻ˛āĻ¤ā§ āĻŦā§āĻāĻžāĻ¯āĻŧ āĻāĻžāĻ°āĻŦā§āĻ āĻ¸āĻāĻā§āĻ°āĻšā§āĻ° āĻāĻ¨ā§āĻ¯, āĻāĻŦāĻ āĻāĻŽāĻžāĻ¨ā§āĻĄāĻāĻŋ āĻŦā§āĻļ āĻāĻŋāĻā§ āĻāĻžāĻ āĻāĻ°ā§: āĻāĻāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ˛ā§āĻ āĻ āĻŦāĻā§āĻā§āĻāĻā§ āĻāĻāĻ¤ā§āĻ°āĻŋāĻ¤ āĻāĻ°ā§ āĻāĻŦāĻ āĻĒā§āĻ¯āĻžāĻāĻĢāĻžāĻāĻ˛ā§ āĻ°āĻžāĻā§, āĻāĻāĻŋ āĻĒā§āĻ¯āĻžāĻāĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋāĻā§ āĻāĻāĻāĻŋ āĻŦāĻĄāĻŧ āĻĒā§āĻ¯āĻžāĻāĻĢāĻžāĻāĻ˛ā§ āĻāĻāĻ¤ā§āĻ°āĻŋāĻ¤ āĻāĻ°ā§, āĻāĻŦāĻ āĻāĻāĻŋ āĻāĻŽāĻ¨ āĻ āĻŦā§āĻā§āĻā§āĻāĻā§āĻ˛ā§āĻā§ āĻ¸āĻ°āĻŋāĻ¯āĻŧā§ āĻĻā§āĻ¯āĻŧ āĻ¯ā§āĻā§āĻ˛āĻŋ āĻā§āĻ¨āĻ āĻāĻŽāĻŋāĻ āĻĨā§āĻā§ āĻĒā§āĻāĻāĻžāĻ¨ā§ āĻ¯āĻžāĻ¯āĻŧ āĻ¨āĻž āĻāĻŦāĻ āĻāĻ¯āĻŧā§āĻ āĻŽāĻžāĻ¸ āĻĒā§āĻ°āĻ¨ā§ āĨ¤āĻāĻĒāĻ¨āĻŋ âauto gcâ āĻāĻŽāĻžāĻ¨ā§āĻĄāĻāĻŋ āĻŽā§āĻ¯āĻžāĻ¨ā§ā§āĻžāĻ˛āĻŋ āĻāĻžāĻ˛āĻžāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤
$ git gc --auto
āĻāĻŦāĻžāĻ°, āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻāĻāĻŋ āĻā§āĻ¨ āĻāĻŋāĻā§ āĻāĻ°ā§ āĻ¨āĻžāĨ¤ Git āĻāĻāĻāĻŋ gc āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžā§āĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻĒāĻ¨āĻžāĻā§ 7,000 āĻāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ
āĻŦāĻā§āĻā§āĻ āĻŦāĻž 50 āĻāĻŋāĻ° āĻŦā§āĻļāĻŋ āĻĒā§āĻ¯āĻžāĻāĻĢāĻžāĻāĻ˛ āĻĨāĻžāĻāĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻ¸ā§āĻ āĻ¸ā§āĻŽāĻžāĻā§āĻ˛āĻŋ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨āĻž āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ gc.auto āĻāĻŦāĻ gc.autopacklimit config āĻ¸ā§āĻāĻŋāĻāĻ¸ āĻĻāĻŋā§ā§āĨ¤
gc āĻāĻ°ā§āĻāĻāĻŋ āĻāĻžāĻ āĻāĻ°ā§ āĻ¯ā§āĻāĻŋ āĻšāĻ˛ āĻāĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻ°ā§āĻĢāĻžāĻ°ā§āĻ¨āĻ¸āĻā§ āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻ˛ā§ āĻĒā§āĻ¯āĻžāĻ āĻāĻ°āĻŦā§āĨ¤ āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻ°āĻŋāĻĒā§āĻāĻŋāĻāĻ°āĻŋāĻ¤ā§ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻļāĻžāĻāĻž (branch) āĻāĻŦāĻ āĻā§āĻ¯āĻžāĻ āĻĨāĻžāĻā§:
gc āĻāĻ°ā§āĻāĻāĻŋ āĻāĻžāĻ āĻāĻ°ā§ āĻ¯ā§āĻāĻŋ āĻšāĻ˛ āĻāĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻ°ā§āĻĢāĻžāĻ°ā§āĻ¨āĻ¸āĻā§ āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻ˛ā§ āĻĒā§āĻ¯āĻžāĻ āĻāĻ°āĻŦā§āĨ¤ āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻ°āĻŋāĻĒā§āĻāĻŋāĻāĻ°āĻŋāĻ¤ā§ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻļāĻžāĻāĻž (branch) āĻāĻŦāĻ āĻā§āĻ¯āĻžāĻ āĻĨāĻžāĻā§:
$ find .git/refs -type f
.git/refs/heads/experiment
.git/refs/heads/master
.git/refs/tags/v1.0
.git/refs/tags/v1.1
āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻŋ git gc āĻāĻžāĻ˛āĻžāĻ¨, āĻ¤āĻŦā§ āĻāĻĒāĻ¨āĻŋ āĻāĻ° āĻāĻ āĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋāĻā§ refs āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§ āĻ°āĻžāĻāĻŦā§āĻ¨ āĻ¨āĻžāĨ¤ āĻāĻŋāĻ āĻ¤āĻžāĻĻā§āĻ° āĻāĻžāĻ°ā§āĻ¯āĻāĻžāĻ°āĻŋāĻ¤āĻžāĻ° āĻāĻ¨ā§āĻ¯ .git/packed-refs āĻ¨āĻžāĻŽā§āĻ° āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻ˛ā§ āĻ¸āĻ°āĻžāĻŦā§, āĻ¯āĻž āĻāĻāĻ°āĻāĻŽ āĻĻā§āĻāĻžāĻŦā§āĨ¤
$ cat .git/packed-refs
# pack-refs with: peeled fully-peeled
cac0cab538b970a37ea1e769cbbde608743bc96d refs/heads/experiment
ab1afef80fac8e34258ff41fc1b867c702daa24b refs/heads/master
cac0cab538b970a37ea1e769cbbde608743bc96d refs/tags/v1.0
9585191f37f7b0fb9444f35a9bf50de191beadc2 refs/tags/v1.1
^1a410efbd13591db07496601ebc7a059dd55cfe9
āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻāĻŋ āĻ°ā§āĻĢāĻžāĻ°ā§āĻ¨ā§āĻ¸ āĻāĻĒāĻĄā§āĻ āĻāĻ°ā§āĻ¨, āĻ¤āĻŦā§ Git āĻāĻ āĻĢāĻžāĻāĻ˛āĻāĻŋ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ āĻāĻ°āĻžāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§ āĻ¨āĻ¤ā§āĻ¨ āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻ˛ refs/heads āĻ āĻ˛ā§āĻā§āĨ¤ āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻ°ā§āĻĢāĻžāĻ°ā§āĻ¨ā§āĻ¸ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻĒāĻ¯ā§āĻā§āĻ¤ SHA-1 āĻĒā§āĻ¤ā§, Git āĻ°ā§āĻĢāĻžāĻ°ā§āĻ¨ā§āĻ¸ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋ āĻ āĻ¤āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻā§āĻ āĻāĻ°ā§ āĻāĻŦāĻ packed-refs āĻĢāĻžāĻāĻ˛ āĻāĻ° āĻ¸āĻžāĻĨā§ fallback āĻāĻ°ā§āĨ¤ āĻ¤āĻžāĻ āĻāĻĒāĻ¨āĻŋ refs āĻ°ā§āĻĢāĻžāĻ°ā§āĻ¨ā§āĻ¸ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§ āĻĒāĻžāĻŦā§āĻ¨ āĻ¨āĻž, āĻ¸ā§āĻāĻŋ āĻ¸āĻŽā§āĻāĻŦāĻ¤ āĻāĻĒāĻ¨āĻžāĻ° packed-refs āĻĢāĻžāĻāĻ˛ā§ āĻ°āĻ¯āĻŧā§āĻā§āĨ¤
āĻĢāĻžāĻāĻ˛ā§āĻ° āĻļā§āĻˇ āĻ˛āĻžāĻāĻ¨ āĻ¨ā§āĻāĻŋāĻļ āĻāĻ°ā§āĻ¨, āĻ¯āĻž āĻāĻāĻāĻŋ ^ āĻĻāĻŋā§ā§ āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧāĨ¤ āĻāĻ° āĻŽāĻžāĻ¨ā§ āĻāĻĒāĻ°ā§āĻ° āĻā§āĻ¯āĻžāĻ āĻāĻāĻāĻŋ āĻāĻ¨ā§āĻā§āĻļāĻ¨āĻžāĻ˛ āĻā§āĻ¯āĻžāĻ āĻāĻŦāĻ āĻ¤āĻžāĻ° āĻ˛āĻžāĻāĻ¨āĻāĻŋ āĻšāĻ˛ āĻāĻ¨ā§āĻā§āĻļāĻ¨āĻžāĻ˛ āĻā§āĻ¯āĻžāĻā§āĻ° āĻāĻŽāĻŋāĻ āĨ¤
āĻĢāĻžāĻāĻ˛ā§āĻ° āĻļā§āĻˇ āĻ˛āĻžāĻāĻ¨ āĻ¨ā§āĻāĻŋāĻļ āĻāĻ°ā§āĻ¨, āĻ¯āĻž āĻāĻāĻāĻŋ ^ āĻĻāĻŋā§ā§ āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧāĨ¤ āĻāĻ° āĻŽāĻžāĻ¨ā§ āĻāĻĒāĻ°ā§āĻ° āĻā§āĻ¯āĻžāĻ āĻāĻāĻāĻŋ āĻāĻ¨ā§āĻā§āĻļāĻ¨āĻžāĻ˛ āĻā§āĻ¯āĻžāĻ āĻāĻŦāĻ āĻ¤āĻžāĻ° āĻ˛āĻžāĻāĻ¨āĻāĻŋ āĻšāĻ˛ āĻāĻ¨ā§āĻā§āĻļāĻ¨āĻžāĻ˛ āĻā§āĻ¯āĻžāĻā§āĻ° āĻāĻŽāĻŋāĻ āĨ¤
āĻĄā§āĻāĻž āĻĒā§āĻ¨āĻ°ā§āĻĻā§āĻ§āĻžāĻ°
āĻāĻĒāĻ¨āĻžāĻ° āĻāĻŋāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§āĻ° āĻ¸āĻŽā§ āĻā§āĻ˛āĻā§āĻ°āĻŽā§ āĻāĻāĻāĻŋ āĻāĻŽāĻŋāĻ āĻšāĻžāĻ°āĻŋā§ā§ āĻĢā§āĻ˛āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤, āĻāĻāĻŋ āĻ¤āĻāĻ¨āĻ āĻāĻā§ āĻ¯āĻāĻ¨ āĻāĻĒāĻ¨āĻŋ āĻā§āĻ¨ā§ āĻāĻāĻāĻž āĻŦā§āĻ°āĻžāĻā§āĻā§ āĻāĻžāĻ āĻāĻ°āĻžāĻ° āĻ¸āĻŽā§ āĻā§āĻ˛āĻŦāĻļāĻ¤ āĻ¸ā§āĻāĻŋ āĻĢā§āĻ°ā§āĻ¸ āĻĄāĻŋāĻ˛āĻŋāĻ āĻāĻ°āĻā§āĻ¨ āĻāĻŋāĻāĻŦāĻž āĻā§āĻ¨ā§ āĻāĻāĻāĻž āĻŦā§āĻ°āĻžāĻā§āĻ āĻšāĻžāĻ°ā§āĻĄ āĻ°āĻŋāĻ¸ā§āĻ āĻāĻ°āĻā§āĻ¨āĨ¤ āĻ§āĻ°ā§ āĻ¨āĻŋāĻ˛āĻžāĻŽ, āĻāĻŽāĻ¨ āĻāĻāĻāĻž āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ¤ā§ āĻāĻĒāĻ¨āĻŋ āĻĒā§āĻā§āĻ¨, āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻĒāĻ¨āĻŋ āĻāĻŋāĻāĻžāĻŦā§ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻŽāĻŋāĻāĻā§āĻ˛ā§ āĻĢāĻŋāĻ°āĻŋā§ā§ āĻāĻ¨āĻ¤ā§ āĻĒāĻžāĻ°āĻŦā§āĻ¨?āĻāĻāĻžāĻ¨ā§ āĻāĻ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻĻā§āĻā§āĻž āĻšāĻ˛ā§āĻ āĻ§āĻ°ā§āĻ¨, āĻāĻĒāĻ¨āĻžāĻ° āĻā§āĻ¸ā§āĻ āĻ°āĻŋāĻĒā§āĻāĻŋāĻāĻ°āĻŋāĻ° āĻŽāĻžāĻ¸ā§āĻāĻžāĻ° āĻŦā§āĻ°āĻžāĻā§āĻ āĻšāĻžāĻ°ā§āĻĄ āĻ°āĻŋāĻ¸ā§āĻ āĻāĻ°ā§ āĻĢā§āĻ˛āĻ˛ā§āĻ¨, āĻāĻāĻ¨ āĻāĻĒāĻ¨āĻžāĻ° āĻšāĻžāĻ°āĻžāĻ¨ā§ āĻāĻŽāĻŋāĻ āĻ°āĻŋāĻā§āĻāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻāĻžāĻā§āĻā§āĻ¨āĨ¤ āĻĒā§āĻ°āĻĨāĻŽā§ āĻĻā§āĻā§ āĻ¨āĻŋāĻ āĻ¯ā§, āĻāĻĒāĻ¨āĻžāĻ° āĻ°āĻŋāĻĒā§āĻ¸āĻŋāĻāĻ°āĻŋ āĻāĻ āĻŽā§āĻšā§āĻ°ā§āĻ¤ā§ āĻāĻŋ āĻ āĻŦāĻ¸ā§āĻĨāĻžā§ āĻāĻā§āĻ
$ git log --pretty=oneline
ab1afef80fac8e34258ff41fc1b867c702daa24b Modify repo.rb a bit
484a59275031909e19aadb7c92262719cfcdf19a Create repo.rb
1a410efbd13591db07496601ebc7a059dd55cfe9 Third commit
cac0cab538b970a37ea1e769cbbde608743bc96d Second commit
fdf4fc3344e67ab068f836878b6c4951e3b15f3d First commit
āĻāĻāĻ¨, āĻŽāĻžāĻ¸ā§āĻāĻžāĻ° āĻŦā§āĻ°āĻžāĻā§āĻāĻā§ āĻŽāĻžāĻā§āĻ° āĻāĻŽāĻŋāĻā§ āĻ¨āĻŋā§ā§ āĻ¯āĻžāĻāĻ
$ git reset --hard 1a410efbd13591db07496601ebc7a059dd55cfe9
HEAD is now at 1a410ef Third commit
$ git log --pretty=oneline
1a410efbd13591db07496601ebc7a059dd55cfe9 Third commit
cac0cab538b970a37ea1e769cbbde608743bc96d Second commit
fdf4fc3344e67ab068f836878b6c4951e3b15f3d First commit
āĻāĻĒāĻ¨āĻŋ āĻāĻāĻ¨ āĻ¸āĻŦāĻžāĻ° āĻāĻĒāĻ°ā§āĻ° āĻĻā§āĻāĻāĻž āĻāĻŽāĻŋāĻ āĻšāĻžāĻ°āĻŋā§ā§ āĻĢā§āĻ˛āĻā§āĻ¨ – āĻāĻĒāĻ¨āĻžāĻ° āĻāĻāĻ¨ āĻāĻŽāĻ¨ āĻā§āĻ¨ā§ āĻŦā§āĻ°āĻžāĻā§āĻ āĻ¨ā§āĻ āĻ¯āĻžāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻāĻĒāĻ¨āĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻšāĻžāĻ°āĻžāĻ¨ā§ āĻāĻŽāĻŋāĻ āĻā§āĻ˛ā§ āĻĢāĻŋāĻ°ā§ āĻĒā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤ āĻāĻĒāĻ¨āĻžāĻā§ āĻ¸āĻ°ā§āĻŦāĻļā§āĻˇ āĻāĻŽāĻŋāĻā§āĻ° SHA-1 āĻā§āĻā§ āĻŦā§āĻ° āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻāĻŦāĻ āĻ¤āĻžāĻ° āĻ¸āĻžāĻĨā§ āĻāĻāĻāĻž āĻŦā§āĻ°āĻžāĻā§āĻ āĻ¯ā§āĻ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻāĻŽāĻ¨ āĻ¨āĻž āĻ¯ā§ āĻāĻĒāĻ¨āĻŋ āĻ¸āĻ°ā§āĻŦāĻļā§āĻˇ āĻāĻŽāĻŋāĻā§āĻ° SHA-1 āĻŦā§āĻ° āĻāĻ°āĻžāĻ° āĻā§āĻ°āĻŋāĻ āĻāĻŋ āĻŽā§āĻāĻ¸ā§āĻĨ āĻāĻ°ā§ āĻ°āĻžāĻāĻā§āĻ¨, āĻ¤āĻžāĻāĻ¨āĻž?
āĻāĻā§āĻˇā§āĻ¤ā§āĻ°ā§, āĻĻā§āĻ°ā§āĻ¤āĻ¤āĻŽ āĻāĻĒāĻžā§ āĻšāĻ˛ā§ git reflog āĻ¨āĻžāĻŽāĻ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĨ¤ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻāĻ¨ āĻāĻŋāĻā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°ā§āĻ¨, āĻāĻŋāĻ āĻ¤āĻāĻ¨ āĻāĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻāĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§āĻ° HEAD āĻ°ā§āĻāĻ°ā§āĻĄ āĻāĻ°ā§ āĻ°āĻžāĻā§āĨ¤ āĻĒā§āĻ°āĻ¤ā§āĻ¯ā§āĻāĻŦāĻžāĻ° āĻāĻĒāĻ¨āĻžāĻ° āĻāĻŽāĻŋāĻ āĻāĻŋāĻāĻŦāĻž āĻŦā§āĻ°āĻžāĻā§āĻā§ āĻā§āĻ¨ā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻžāĻĨā§ reflog āĻāĻĒāĻĄā§āĻ āĻšāĻŦā§āĨ¤ reflog āĻāĻĒāĻĄā§āĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ git update-ref āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯āĻžā§,āĻāĻĒāĻ¨āĻžāĻ° āĻ°ā§āĻĢ āĻĢāĻžāĻāĻ˛āĻ¸ āĻā§āĻ˛ā§āĻ¤ā§ SHA-1 āĻ˛ā§āĻāĻžāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§ āĻāĻāĻāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯āĻžā§ āĻ¯ā§āĻāĻž āĻāĻŽāĻ°āĻž Git References āĻā§āĻ¯āĻžāĻĒā§āĻāĻžāĻ°ā§ āĻāĻžāĻāĻžāĻ° āĻāĻ°āĻāĻŋāĨ¤ āĻāĻĒāĻ¨āĻžāĻ° āĻŦā§āĻ°āĻžāĻā§āĻ āĻāĻŋ āĻ āĻŦāĻ¸ā§āĻĨāĻžā§ āĻāĻā§ āĻ¤āĻž āĻ¸āĻŦāĻ¸āĻŽā§ git reflog āĻāĻŽāĻžāĻ¨ā§āĻĄā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻ°āĻŦā§āĻ¨āĻ
āĻāĻā§āĻˇā§āĻ¤ā§āĻ°ā§, āĻĻā§āĻ°ā§āĻ¤āĻ¤āĻŽ āĻāĻĒāĻžā§ āĻšāĻ˛ā§ git reflog āĻ¨āĻžāĻŽāĻ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĨ¤ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻāĻ¨ āĻāĻŋāĻā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°ā§āĻ¨, āĻāĻŋāĻ āĻ¤āĻāĻ¨ āĻāĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻāĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§āĻ° HEAD āĻ°ā§āĻāĻ°ā§āĻĄ āĻāĻ°ā§ āĻ°āĻžāĻā§āĨ¤ āĻĒā§āĻ°āĻ¤ā§āĻ¯ā§āĻāĻŦāĻžāĻ° āĻāĻĒāĻ¨āĻžāĻ° āĻāĻŽāĻŋāĻ āĻāĻŋāĻāĻŦāĻž āĻŦā§āĻ°āĻžāĻā§āĻā§ āĻā§āĻ¨ā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻžāĻĨā§ reflog āĻāĻĒāĻĄā§āĻ āĻšāĻŦā§āĨ¤ reflog āĻāĻĒāĻĄā§āĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ git update-ref āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯āĻžā§,āĻāĻĒāĻ¨āĻžāĻ° āĻ°ā§āĻĢ āĻĢāĻžāĻāĻ˛āĻ¸ āĻā§āĻ˛ā§āĻ¤ā§ SHA-1 āĻ˛ā§āĻāĻžāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§ āĻāĻāĻāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯āĻžā§ āĻ¯ā§āĻāĻž āĻāĻŽāĻ°āĻž Git References āĻā§āĻ¯āĻžāĻĒā§āĻāĻžāĻ°ā§ āĻāĻžāĻāĻžāĻ° āĻāĻ°āĻāĻŋāĨ¤ āĻāĻĒāĻ¨āĻžāĻ° āĻŦā§āĻ°āĻžāĻā§āĻ āĻāĻŋ āĻ āĻŦāĻ¸ā§āĻĨāĻžā§ āĻāĻā§ āĻ¤āĻž āĻ¸āĻŦāĻ¸āĻŽā§ git reflog āĻāĻŽāĻžāĻ¨ā§āĻĄā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻ°āĻŦā§āĻ¨āĻ
$ git reflog
1a410ef HEAD@{0}: reset: moving to 1a410ef
ab1afef HEAD@{1}: commit: Modify repo.rb a bit
484a592 HEAD@{2}: commit: Create repo.rb
āĻāĻāĻžāĻ¨ā§ āĻāĻŽāĻ°āĻž āĻĻā§āĻāĻāĻž āĻāĻŽāĻŋāĻ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻā§āĻāĻŋ āĻ¯ā§āĻā§āĻ˛ā§ āĻāĻŽāĻ°āĻž āĻā§āĻ āĻāĻāĻ āĻāĻ°ā§ āĻĢā§āĻ˛āĻāĻŋ, āĻ¯āĻĻāĻŋāĻ āĻāĻāĻžāĻ¨ā§ āĻŦā§āĻļāĻŋ āĻ¤āĻĨā§āĻ¯ āĻ¨āĻžāĻāĨ¤ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻ¤āĻĨā§āĻ¯ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻ°āĻ˛ā§ āĻ¸ā§āĻāĻž āĻāĻ°ā§ āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻšāĻ¤ā§ āĻāĻŦāĻ āĻāĻŽāĻ°āĻž āĻ¸ā§āĻāĻāĻž git log -g āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ, āĻ¯āĻž āĻ¨āĻŋāĻā§āĻ° āĻāĻāĻāĻĒā§āĻ āĻĻā§āĻāĻžāĻŦā§āĻ
$ git log -g
commit 1a410efbd13591db07496601ebc7a059dd55cfe9
Reflog: HEAD@{0} (Scott Chacon )
Reflog message: updating HEAD
Author: Scott Chacon
Date: Fri May 22 18:22:37 2009 -0700
Third commit
commit ab1afef80fac8e34258ff41fc1b867c702daa24b
Reflog: HEAD@{1} (Scott Chacon )
Reflog message: updating HEAD
Author: Scott Chacon
Date: Fri May 22 18:15:24 2009 -0700
Modify repo.rb a bit
āĻāĻāĻžāĻ¨ā§ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻā§āĻāĻŋ āĻāĻĒāĻ¨āĻŋ āĻ¸āĻŦāĻžāĻ° āĻ¨āĻŋāĻā§āĻ° āĻāĻŽāĻŋāĻ āĻāĻž āĻšāĻžāĻ°āĻŋā§ā§ āĻĢā§āĻ˛āĻā§ā§āĻ¨, āĻ¤āĻžāĻ āĻāĻ āĻāĻŽāĻŋāĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻāĻāĻž āĻ¨āĻ¤ā§āĻ¨ āĻŦā§āĻ°āĻžāĻā§āĻ āĻā§āĻ°āĻŋā§ā§āĻ āĻāĻ°ā§ āĻāĻĒāĻ¨āĻŋ āĻ°āĻŋāĻā§āĻāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŦā§āĻ¨āĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻĒāĻ¨āĻŋ recover-branch āĻ¨āĻžāĻŽā§āĻ° āĻāĻāĻāĻž āĻŦā§āĻ°āĻžāĻā§āĻ āĻā§āĻ°āĻŋā§ā§āĻ āĻāĻ°āĻŦā§āĻ¨ āĻāĻŦāĻ āĻ¸ā§āĻāĻāĻž (ab1afef) āĻāĻŽāĻŋāĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¯ā§āĻā§āĻ¤āĻ
$ git branch recover-branch ab1afef
$ git log --pretty=oneline recover-branch
ab1afef80fac8e34258ff41fc1b867c702daa24b Modify repo.rb a bit
484a59275031909e19aadb7c92262719cfcdf19a Create repo.rb
1a410efbd13591db07496601ebc7a059dd55cfe9 Third commit
cac0cab538b970a37ea1e769cbbde608743bc96d Second commit
fdf4fc3344e67ab068f836878b6c4951e3b15f3d First commit
āĻ āĻŋāĻ āĻāĻā§- āĻāĻāĻ¨ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻžāĻā§ recover-branch āĻ¨āĻžāĻŽāĻ āĻāĻāĻāĻž āĻŦā§āĻ°āĻžāĻā§āĻ āĻāĻā§ āĻ¯āĻžāĻā§ master āĻŦā§āĻ°āĻžāĻā§āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻĒā§āĻ°āĻĨāĻŽā§āĻ° āĻĻā§āĻāĻāĻž āĻāĻŽāĻŋāĻ āĻāĻŦāĻžāĻ°ā§ āĻĢāĻŋāĻ°ā§ āĻĒā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻāĻāĻ¨, āĻ§āĻ°ā§āĻ¨ āĻāĻĒāĻ¨āĻžāĻ° āĻšāĻžāĻ°āĻžāĻ¨ā§ āĻĄāĻžāĻāĻž āĻā§āĻ¨ā§ āĻāĻžāĻ°āĻŖā§ reflog āĻ āĻ¨ā§āĻ āĨ¤ āĻ¸ā§āĻāĻž recover-branch āĻ¨āĻžāĻŽāĻ āĻŦā§āĻ°āĻžāĻā§āĻ āĻāĻŦāĻ reflog āĻĄāĻŋāĻ˛āĻŋāĻ āĻāĻ°āĻžāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻ¸āĻŋāĻŽā§āĻ˛ā§āĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŦā§āĻ¨āĨ¤ āĻāĻāĻ¨, āĻĒā§āĻ°āĻĨāĻŽā§āĻ° āĻĻā§āĻāĻāĻž āĻāĻŽāĻŋāĻā§ āĻā§āĻ¨ā§āĻāĻžāĻŦā§āĻ āĻĒā§āĻāĻāĻžāĻ¨ā§ āĻ¸āĻŽā§āĻāĻŦ āĻ¨āĻžāĨ¤
$ git branch -D recover-branch
$ rm -Rf .git/logs/
āĻāĻžāĻ°āĻŖ reflog āĻĄāĻžāĻāĻž .git/logs/ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§ āĻ¸āĻāĻ°āĻā§āĻˇāĻŋāĻ¤ āĻĨāĻžāĻā§, āĻ¤āĻžāĻ āĻāĻāĻ¨ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻžāĻā§ āĻā§āĻ¨ā§ reflog āĻ¨āĻžāĻāĨ¤ āĻāĻāĻ¨, āĻāĻāĻžāĻ¨ āĻĨā§āĻā§ āĻāĻŋāĻāĻžāĻŦā§ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻŽāĻŋāĻ āĻ°āĻŋāĻā§āĻāĻžāĻ°āĻŋ āĻāĻ°āĻž āĻ¯āĻžāĻŦā§? git fsck āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻāĻ°āĻž āĻ¯āĻžāĻŦā§,āĻ¯ā§āĻāĻžāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻĄāĻžāĻāĻžāĻŦā§āĻ āĻāĻ¨ā§āĻāĻŋāĻā§āĻ°āĻŋāĻāĻŋ āĻā§āĻ āĻāĻ°ā§āĨ¤ āĻ¯āĻĻāĻŋ āĻāĻ āĻāĻŽāĻžāĻ¨ā§āĻĄā§āĻ° āĻ¸āĻžāĻĨā§ –full āĻ
āĻĒāĻļāĻ¨ āĻ¯ā§āĻā§āĻ¤ āĻāĻ°ā§ āĻ°āĻžāĻ¨ āĻāĻ°ā§āĻ¨,āĻ¤āĻžāĻšāĻ˛ā§ āĻ¸ā§āĻāĻž āĻ¸ā§āĻ¸āĻŦ āĻ
āĻŦā§āĻā§āĻā§āĻ āĻā§āĻ˛ā§ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻāĻ°āĻŦā§ āĻ¯āĻž āĻ
āĻ¨ā§āĻ¯ āĻā§āĻ¨ā§ āĻ
āĻŦā§āĻā§āĻā§āĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¯ā§āĻā§āĻ¤ āĻ¨ā§āĻāĻ
$ git fsck --full
Checking object directories: 100% (256/256), done.
Checking objects: 100% (18/18), done.
dangling blob d670460b4b4aece5915caf5c68d12f560a9fe3e4
dangling commit ab1afef80fac8e34258ff41fc1b867c702daa24b
dangling tree aea790b9a58f6cf6f2804eeac9f0abbe9631e4c9
dangling blob 7108f7ecb345ee9d0084193f147cdad4d2998293
āĻāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, āĻāĻĒāĻ¨āĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻšāĻžāĻ°āĻžāĻ¨ā§ āĻāĻŽāĻŋāĻ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻŦā§āĻ¨ âdangling commitâ āĻ¸ā§āĻā§āĻ°āĻŋāĻ āĻāĻ° āĻĒāĻ°āĨ¤āĻāĻĒāĻ¨āĻŋ āĻāĻāĻ¨ āĻāĻ˛āĻžāĻĻāĻž āĻāĻāĻāĻž āĻŦā§āĻ°āĻžāĻā§āĻ SHA-1 āĻ āĻ¯ā§āĻā§āĻ¤ āĻāĻ°āĻžāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻāĻāĻāĻž āĻāĻāĻāĻāĻžāĻŦā§ āĻ°āĻŋāĻā§āĻāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŦā§āĻ¨āĨ¤
āĻ āĻŦāĻā§āĻā§āĻ āĻ āĻĒāĻ¸āĻžāĻ°āĻŖ
āĻāĻŋāĻā§āĻ° āĻ āĻ¨ā§āĻ āĻĻā§āĻ°ā§āĻĻāĻžāĻ¨ā§āĻ¤ āĻāĻŋāĻ¨āĻŋāĻ¸ āĻ°āĻ¯āĻŧā§āĻā§, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻāĻāĻŋ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ āĻ¯āĻž āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ° āĻāĻžāĻ°āĻŖ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¤āĻž āĻšāĻ˛ āĻ¯ā§ āĻāĻāĻāĻŋ git clone āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻĢāĻžāĻāĻ˛ā§āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻāĻžāĻ°ā§āĻ¸āĻ¨ āĻ¸āĻš āĻĒā§āĻ°ā§āĻā§āĻā§āĻā§āĻ° āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻšāĻŋāĻ¸ā§āĻā§āĻ°āĻŋ āĻĄāĻžāĻāĻ¨āĻ˛ā§āĻĄ āĻāĻ°ā§ āĨ¤ āĻĒā§āĻ°ā§ āĻāĻŋāĻ¨āĻŋāĻ¸āĻāĻŋ āĻ¸ā§āĻ°ā§āĻ¸ āĻā§āĻĄ āĻšāĻ˛ā§ āĻāĻāĻŋ āĻ āĻŋāĻ āĻāĻā§, āĻāĻžāĻ°āĻŖ āĻ¸ā§āĻ āĻĄā§āĻāĻžāĻā§ āĻĻāĻā§āĻˇāĻ¤āĻžāĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻāĻā§āĻāĻŋāĻ¤ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŋāĻāĻā§ āĻ āĻ¤ā§āĻ¯āĻ¨ā§āĻ¤ āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤ āĻ¯āĻžāĻāĻšā§āĻ, āĻ¯āĻĻāĻŋ āĻā§āĻ āĻāĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°ā§āĻā§āĻā§āĻā§āĻ° āĻšāĻŋāĻ¸ā§āĻā§āĻ°āĻŋāĻ¤ā§ āĻ¯ā§ āĻā§āĻ¨āĻ āĻ¸āĻŽāĻ¯āĻŧā§ āĻāĻāĻāĻŋ āĻŦāĻŋāĻļāĻžāĻ˛ āĻĢāĻžāĻāĻ˛ āĻ¯ā§āĻ āĻāĻ°ā§, āĻ¤āĻŦā§ āĻ¸āĻ°ā§āĻŦāĻāĻžāĻ˛ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻā§āĻ˛ā§āĻ¨ā§ āĻ¸ā§āĻ āĻŦāĻĄāĻŧ āĻĢāĻžāĻāĻ˛āĻāĻŋ āĻĄāĻžāĻāĻ¨āĻ˛ā§āĻĄ āĻāĻ°āĻ¤ā§ āĻŦāĻžāĻ§ā§āĻ¯ āĻāĻ°āĻž āĻšāĻŦā§, āĻāĻŽāĻ¨āĻāĻŋ āĻ¯āĻĻāĻŋ āĻāĻāĻŋ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻāĻŽāĻŋāĻā§ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒ āĻĨā§āĻā§ āĻ¸āĻ°āĻŋā§ā§āĻ āĻĢā§āĻ˛āĻž āĻšā§ āĨ¤ āĻāĻžāĻ°āĻŖ āĻāĻāĻŋ āĻāĻŋāĻ āĻšāĻŋāĻ¸ā§āĻā§āĻ°āĻŋ āĻĨā§āĻā§ āĻĒā§āĻāĻāĻžāĻ¨ā§ āĻ¯āĻžāĻŦā§, āĻāĻāĻŋ āĻ¸āĻ°ā§āĻŦāĻĻāĻž āĻ¸ā§āĻāĻžāĻ¨ā§āĻ āĻĨāĻžāĻāĻŦā§ āĨ¤āĻāĻĒāĻ¨āĻŋ āĻ¯āĻāĻ¨ āĻ¸āĻžāĻŦāĻāĻžāĻ°ā§āĻ¸āĻ¨ āĻŦāĻž āĻĒāĻžāĻ°āĻĢā§āĻ°ā§āĻ¸ āĻ°āĻŋāĻĒā§āĻāĻŋāĻāĻ°āĻŋāĻā§āĻ˛āĻŋāĻā§ āĻāĻŋāĻā§ āĻ°ā§āĻĒāĻžāĻ¨ā§āĻ¤āĻ° āĻāĻ°āĻā§āĻ¨ āĻ¤āĻāĻ¨ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻŦāĻŋāĻļāĻžāĻ˛ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻ¯ā§āĻšā§āĻ¤ā§ āĻāĻĒāĻ¨āĻŋ āĻ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§ āĻĒā§āĻ°ā§ āĻšāĻŋāĻ¸ā§āĻā§āĻ°āĻŋ āĻĄāĻžāĻāĻ¨āĻ˛ā§āĻĄ āĻāĻ°ā§āĻ¨ āĻ¨āĻž, āĻāĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻ¸āĻāĻ¯ā§āĻāĻ¨ āĻāĻŋāĻā§ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻŦāĻšāĻ¨ āĻāĻ°ā§āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ āĻ¨ā§āĻ¯ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻĨā§āĻā§ āĻāĻŽā§āĻĒāĻ°ā§āĻ āĻāĻ°ā§āĻ¨ āĻŦāĻž āĻ āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ āĻā§āĻāĻā§ āĻĒāĻžāĻ¨ āĻ¯ā§ āĻāĻĒāĻ¨āĻžāĻ° āĻ°āĻŋāĻĒā§āĻāĻŋāĻāĻ°āĻŋāĻāĻŋ āĻ¯āĻž āĻšāĻāĻ¯āĻŧāĻž āĻāĻāĻŋāĻ¤ āĻāĻŋāĻ˛ āĻ¤āĻžāĻ° āĻā§āĻ¯āĻŧā§ āĻ āĻ¨ā§āĻ āĻŦāĻĄāĻŧ, āĻāĻāĻžāĻ¨ā§ āĻāĻĒāĻ¨āĻŋ āĻāĻŋāĻāĻžāĻŦā§ āĻŦāĻĄāĻŧ āĻ āĻŦāĻā§āĻā§āĻāĻāĻŋ āĻā§āĻāĻā§ āĻĒā§āĻ¤ā§ āĻāĻŦāĻ āĻ āĻĒāĻ¸āĻžāĻ°āĻŖ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĨ¤
āĻ¸āĻ¤āĻ°ā§āĻ āĻĨāĻžāĻā§āĻ¨: āĻāĻ āĻā§āĻļāĻ˛āĻāĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻŽāĻŋāĻ āĻšāĻŋāĻ¸ā§āĻā§āĻ°āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻ§ā§āĻŦāĻāĻ¸āĻžāĻ¤ā§āĻŽāĻ āĨ¤ āĻāĻāĻāĻŋ āĻŦāĻĄāĻŧ āĻĢāĻžāĻāĻ˛ā§āĻ° āĻ°ā§āĻĢāĻžāĻ°ā§āĻ¨ā§āĻ¸ āĻŽā§āĻā§ āĻĢā§āĻ˛āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻĒāĻ¨āĻžāĻā§ āĻĒā§āĻ°āĻĨāĻŽ āĻā§āĻ°āĻŋ āĻāĻŦāĻ āĻ¤āĻžāĻ° āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻĨā§āĻā§ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻāĻŽāĻŋāĻ āĻ āĻŦāĻā§āĻā§āĻāĻā§ āĻĒā§āĻ¨āĻ°ā§āĻ˛āĻŋāĻāĻ¨ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻŽā§āĻĒāĻ°ā§āĻā§āĻ° āĻĒāĻ°āĻĒāĻ°āĻ āĻāĻāĻŋ āĻāĻ°ā§āĻ¨, āĻā§āĻ āĻāĻŽāĻŋāĻā§āĻ° āĻāĻžāĻ āĻļā§āĻ°ā§ āĻāĻ°āĻžāĻ° āĻāĻā§, āĻāĻĒāĻ¨āĻŋ āĻ āĻŋāĻ āĻāĻā§āĻ¨ – āĻ āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ, āĻāĻĒāĻ¨āĻžāĻā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻāĻ¨ā§āĻā§āĻ°āĻŋāĻŦāĻŋāĻāĻāĻ°āĻĻā§āĻ° āĻ āĻŦāĻšāĻŋāĻ¤ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻ¯ā§ āĻ¤āĻžāĻĻā§āĻ° āĻ āĻŦāĻļā§āĻ¯āĻ āĻāĻĒāĻ¨āĻžāĻ° āĻ¨āĻ¤ā§āĻ¨ āĻāĻŽāĻŋāĻā§āĻ° āĻāĻĒāĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋ āĻāĻ°ā§ āĻ¤āĻžāĻĻā§āĻ° āĻāĻžāĻ āĻ°āĻŋāĻŦā§āĻ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤
āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ā§, āĻāĻĒāĻ¨āĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻā§āĻ¸ā§āĻ āĻ°āĻŋāĻĒā§āĻāĻŋāĻāĻ°āĻŋāĻā§ āĻāĻāĻāĻŋ āĻŦāĻĄāĻŧ āĻĢāĻžāĻāĻ˛ āĻ¯ā§āĻā§āĻ¤ āĻāĻ°āĻŦā§āĻ¨, āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻāĻŽāĻŋāĻā§ āĻāĻāĻŋ āĻ¸āĻ°āĻŋāĻ¯āĻŧā§ āĻĢā§āĻ˛āĻŦā§āĻ¨, āĻāĻāĻŋ āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻāĻ°ā§āĻ¨, āĻāĻŦāĻ āĻ°āĻŋāĻĒā§āĻāĻŋāĻāĻ°āĻŋ āĻĨā§āĻā§ āĻ¸ā§āĻĨāĻžāĻ¯āĻŧā§āĻāĻžāĻŦā§ āĻ āĻĒāĻ¸āĻžāĻ°āĻŖ āĻāĻ°ā§āĻ¨āĨ¤ āĻĒā§āĻ°āĻĨāĻŽāĻ¤, āĻāĻĒāĻ¨āĻžāĻ° āĻšāĻŋāĻ¸ā§āĻā§āĻ°āĻŋāĻ¤ā§ āĻāĻāĻāĻŋ āĻŦāĻĄāĻŧ āĻ āĻŦāĻā§āĻā§āĻ āĻ¯ā§āĻ āĻāĻ°ā§āĻ¨āĻ
$ curl -L https://www.kernel.org/pub/software/scm/git/git-2.1.0.tar.gz > git.tgz
$ git add git.tgz
$ git commit -m 'Add git tarball'
[master 7b30847] Add git tarball
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 git.tgz
āĻāĻšā§ – āĻāĻĒāĻ¨āĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°ā§āĻā§āĻā§āĻā§ āĻāĻāĻāĻŋ āĻŦāĻŋāĻļāĻžāĻ˛ āĻāĻžāĻ°āĻŦāĻ˛ āĻ¯ā§āĻ āĻāĻ°āĻ¤ā§ āĻāĻžāĻ¨āĻ¨āĻŋā§ˇ āĻāĻāĻž āĻĨā§āĻā§ āĻĒāĻ°āĻŋāĻ¤ā§āĻ°āĻžāĻŖ āĻĒā§āĻ¤ā§:
$ git rm git.tgz
rm 'git.tgz'
$ git commit -m 'Oops - remove large tarball'
[master dadf725] Oops - remove large tarball
1 file changed, 0 insertions(+), 0 deletions(-)
delete mode 100644 git.tgz
āĻāĻāĻ¨, āĻāĻĒāĻ¨āĻžāĻ° āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ā§ gc āĻŦā§āĻ¯āĻžāĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻĻā§āĻā§āĻ¨ āĻāĻĒāĻ¨āĻŋ āĻāĻ¤ āĻ¸ā§āĻĒā§āĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻā§āĻ¨āĻ
$ git gc
Counting objects: 17, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (13/13), done.
Writing objects: 100% (17/17), done.
Total 17 (delta 1), reused 10 (delta 0)
āĻāĻĒāĻ¨āĻŋ āĻāĻ¤ āĻ¸ā§āĻĒā§āĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻā§āĻ¨ āĻ¤āĻž āĻĻā§āĻāĻžāĻ° āĻāĻ¨ā§āĻ¯ count-objects āĻāĻŽāĻžāĻ¨ā§āĻĄāĻāĻŋ āĻĻā§āĻ°ā§āĻ¤ āĻāĻžāĻ˛āĻžāĻ¨āĻ
$ git count-objects -v
count: 7
size: 32
in-pack: 17
packs: 1
size-pack: 4868
prune-packable: 0
garbage: 0
size-garbage: 0
āĻ¸āĻžāĻāĻ-āĻĒā§āĻ¯āĻžāĻ āĻāĻ¨ā§āĻā§āĻ°āĻŋāĻāĻŋ āĻšāĻ˛ āĻāĻŋāĻ˛ā§āĻŦāĻžāĻāĻā§ āĻāĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ¯āĻžāĻāĻĢāĻžāĻāĻ˛ā§āĻ° āĻāĻāĻžāĻ°, āĻ
āĻ°ā§āĻĨāĻžā§ āĻāĻĒāĻ¨āĻŋ āĻĒā§āĻ°āĻžāĻ¯āĻŧ 5MB āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻā§āĻ¨āĨ¤ āĻļā§āĻˇ āĻāĻŽāĻŋāĻā§āĻ° āĻāĻā§, āĻāĻĒāĻ¨āĻŋ 2K āĻāĻ° āĻāĻžāĻāĻžāĻāĻžāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻāĻŋāĻ˛ā§āĻ¨ – āĻ¸ā§āĻĒāĻˇā§āĻāĻ¤āĻ, āĻĒā§āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§ āĻāĻŽāĻŋāĻ āĻĨā§āĻā§ āĻĢāĻžāĻāĻ˛āĻāĻŋ āĻŽā§āĻā§ āĻĢā§āĻ˛āĻžāĻ° āĻšāĻ˛ā§āĻ āĻāĻāĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻšāĻŋāĻ¸ā§āĻā§āĻ°āĻŋ āĻĨā§āĻā§ āĻŽā§āĻā§ āĻ¯āĻžāĻ¯āĻŧāĻ¨āĻŋāĨ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻŦāĻžāĻ° āĻ¯ā§ āĻā§āĻ āĻāĻ āĻ°āĻŋāĻĒā§āĻāĻŋāĻāĻ°āĻŋ āĻā§āĻ˛ā§āĻ¨ āĻāĻ°āĻŦā§, āĻāĻ āĻā§āĻ āĻĒā§āĻ°ā§āĻā§āĻā§āĻāĻāĻŋ āĻĒā§āĻ¤ā§ āĻ¤āĻžāĻĻā§āĻ°āĻā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ 5MB āĻā§āĻ˛ā§āĻ¨ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§, āĻāĻžāĻ°āĻŖ āĻāĻĒāĻ¨āĻŋ āĻĻā§āĻ°ā§āĻāĻāĻ¨āĻžāĻā§āĻ°āĻŽā§ āĻāĻāĻāĻŋ āĻŦāĻĄāĻŧ āĻĢāĻžāĻāĻ˛ āĻ¯ā§āĻ āĻāĻ°ā§āĻā§āĻ¨āĨ¤ āĻāĻāĻ¨ āĻāĻ° āĻĨā§āĻā§ āĻĒāĻ°āĻŋāĻ¤ā§āĻ°āĻžāĻŖ āĻĒāĻžāĻā§āĻž āĻ¯āĻžāĻ āĨ¤
āĻĒā§āĻ°āĻĨāĻŽā§āĻ āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻāĻŋ āĻā§āĻāĻā§ āĻŦā§āĻ° āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, āĻāĻĒāĻ¨āĻŋ āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§ āĻāĻāĻŋ āĻāĻŋ āĻĢāĻžāĻāĻ˛ āĻāĻžāĻ¨ā§āĻ¨ āĨ¤ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ§āĻ°ā§āĻ¨ āĻāĻĒāĻ¨āĻŋ āĻāĻžāĻ¨ā§āĻ¨āĻ¨āĻž; āĻāĻĒāĻ¨āĻŋ āĻāĻŋāĻāĻžāĻŦā§ āĻ¸āĻ¨āĻžāĻā§āĻ¤ āĻāĻ°āĻŦā§āĻ¨ āĻā§āĻ¨ āĻĢāĻžāĻāĻ˛ āĻŦāĻž āĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋ āĻāĻ¤ āĻ¸ā§āĻĒā§āĻ¸ āĻ¨āĻŋāĻā§āĻā§? āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻŋāĻ gc āĻāĻžāĻ˛āĻžāĻ¨ āĻ¤āĻŦā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ āĻŦāĻā§āĻā§āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻĒā§āĻ¯āĻžāĻāĻĢāĻžāĻāĻ˛ā§ āĻĨāĻžāĻā§; āĻāĻĒāĻ¨āĻŋ git verify-pack āĻ¨āĻžāĻŽā§ āĻāĻ°ā§āĻāĻāĻŋ āĻĒā§āĻ˛āĻžāĻŽā§āĻŦāĻŋāĻ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻāĻžāĻ˛āĻŋāĻ¯āĻŧā§ āĻāĻŦāĻ āĻāĻāĻāĻĒā§āĻā§āĻ° āĻ¤ā§āĻ¤ā§āĻ¯āĻŧ āĻĢāĻŋāĻ˛ā§āĻĄā§ āĻĢāĻžāĻāĻ˛ā§āĻ° āĻāĻāĻžāĻ° āĻ¸āĻžāĻāĻžāĻ¨ā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻŦāĻĄāĻŧ āĻ āĻŦāĻā§āĻā§āĻāĻā§āĻ˛āĻŋ āĻ¸āĻ¨āĻžāĻā§āĻ¤ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĨ¤ āĻāĻĒāĻ¨āĻŋ tail āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻĒāĻžāĻāĻĒ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻāĻžāĻ°āĻŖ āĻāĻĒāĻ¨āĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻļā§āĻˇ āĻāĻ¯āĻŧā§āĻāĻāĻŋ āĻŦā§ āĻĢāĻžāĻāĻ˛ā§āĻ° āĻĒā§āĻ°āĻ¤āĻŋ āĻāĻā§āĻ°āĻšā§āĻ
āĻĒā§āĻ°āĻĨāĻŽā§āĻ āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻāĻŋ āĻā§āĻāĻā§ āĻŦā§āĻ° āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, āĻāĻĒāĻ¨āĻŋ āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§ āĻāĻāĻŋ āĻāĻŋ āĻĢāĻžāĻāĻ˛ āĻāĻžāĻ¨ā§āĻ¨ āĨ¤ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ§āĻ°ā§āĻ¨ āĻāĻĒāĻ¨āĻŋ āĻāĻžāĻ¨ā§āĻ¨āĻ¨āĻž; āĻāĻĒāĻ¨āĻŋ āĻāĻŋāĻāĻžāĻŦā§ āĻ¸āĻ¨āĻžāĻā§āĻ¤ āĻāĻ°āĻŦā§āĻ¨ āĻā§āĻ¨ āĻĢāĻžāĻāĻ˛ āĻŦāĻž āĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋ āĻāĻ¤ āĻ¸ā§āĻĒā§āĻ¸ āĻ¨āĻŋāĻā§āĻā§? āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻŋāĻ gc āĻāĻžāĻ˛āĻžāĻ¨ āĻ¤āĻŦā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ āĻŦāĻā§āĻā§āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻĒā§āĻ¯āĻžāĻāĻĢāĻžāĻāĻ˛ā§ āĻĨāĻžāĻā§; āĻāĻĒāĻ¨āĻŋ git verify-pack āĻ¨āĻžāĻŽā§ āĻāĻ°ā§āĻāĻāĻŋ āĻĒā§āĻ˛āĻžāĻŽā§āĻŦāĻŋāĻ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻāĻžāĻ˛āĻŋāĻ¯āĻŧā§ āĻāĻŦāĻ āĻāĻāĻāĻĒā§āĻā§āĻ° āĻ¤ā§āĻ¤ā§āĻ¯āĻŧ āĻĢāĻŋāĻ˛ā§āĻĄā§ āĻĢāĻžāĻāĻ˛ā§āĻ° āĻāĻāĻžāĻ° āĻ¸āĻžāĻāĻžāĻ¨ā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻŦāĻĄāĻŧ āĻ āĻŦāĻā§āĻā§āĻāĻā§āĻ˛āĻŋ āĻ¸āĻ¨āĻžāĻā§āĻ¤ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĨ¤ āĻāĻĒāĻ¨āĻŋ tail āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻĒāĻžāĻāĻĒ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻāĻžāĻ°āĻŖ āĻāĻĒāĻ¨āĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻļā§āĻˇ āĻāĻ¯āĻŧā§āĻāĻāĻŋ āĻŦā§ āĻĢāĻžāĻāĻ˛ā§āĻ° āĻĒā§āĻ°āĻ¤āĻŋ āĻāĻā§āĻ°āĻšā§āĻ
$ git verify-pack -v .git/objects/pack/pack-29âĻ69.idx \
| sort -k 3 -n \
| tail -3
dadf7258d699da2c8d89b09ef6670edb7d5f91b4 commit 229 159 12
033b4468fa6b2a9547a70d88d1bbe8bf3f9ed0d5 blob 22044 5792 4977696
82c99a3e86bb1267b236a4b6eff7868d97489af1 blob 4975916 4976258 1438
āĻ¨ā§āĻā§ āĻŦā§ āĻ
āĻŦāĻā§āĻā§āĻāĻāĻŋ āĻ°āĻ¯āĻŧā§āĻā§: 5MBāĨ¤ āĻāĻāĻŋ āĻĢāĻžāĻāĻ˛āĻāĻŋ āĻāĻŋ āĻ¤āĻž āĻā§āĻāĻā§ āĻŦā§āĻ° āĻāĻ°āĻ¤ā§, āĻāĻĒāĻ¨āĻŋ rev-list āĻāĻŽāĻžāĻ¨ā§āĻĄāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŦā§āĻ¨, āĻ¯āĻž āĻāĻĒāĻ¨āĻŋ āĻ¸āĻāĻā§āĻˇā§āĻĒā§ āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻŽāĻŋāĻ-āĻŽā§āĻ¸ā§āĻ āĻĢāĻ°ā§āĻŽā§āĻ¯āĻžāĻā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻā§āĻ¨ āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ –objects āĻ
āĻĒāĻļāĻ¨āĻāĻŋ rev-list-āĻ āĻĒāĻžāĻ¸ āĻāĻ°ā§āĻ¨, āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¤ SHA-1s āĻāĻŽāĻŋāĻ āĻāĻŦāĻ āĻŦā§āĻ˛āĻŦ SHA-1s-āĻāĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻāĻļā§āĻ˛āĻŋāĻˇā§āĻ āĻĢāĻžāĻāĻ˛ āĻĒāĻžāĻĨāĻā§āĻ˛āĻŋāĻā§ āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻā§āĻā§āĻ¤ āĻāĻ°ā§āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻŦā§āĻ˛āĻŦā§āĻ° āĻ¨āĻžāĻŽ āĻā§āĻāĻā§ āĻĒā§āĻ¤ā§ āĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĻ
$ git rev-list --objects --all | grep 82c99a3
82c99a3e86bb1267b236a4b6eff7868d97489af1 git.tgz
āĻāĻāĻ¨, āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻĒāĻ¨āĻžāĻ° āĻ
āĻ¤ā§āĻ¤ā§āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻā§āĻ°āĻŋ āĻĨā§āĻā§ āĻĢāĻžāĻāĻ˛āĻāĻŋ āĻ
āĻĒāĻ¸āĻžāĻ°āĻŖ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻ¸āĻšāĻā§āĻ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻā§āĻ¨ āĻāĻŽāĻŋāĻāĻā§āĻ˛āĻŋ āĻāĻ āĻĢāĻžāĻāĻ˛āĻāĻŋāĻā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°ā§āĻā§āĻ
$ git log --oneline --branches -- git.tgz
dadf725 Oops - remove large tarball
7b30847 Add git tarball
āĻāĻĒāĻ¨āĻžāĻ° āĻāĻŋāĻ āĻšāĻŋāĻ¸ā§āĻā§āĻ°āĻŋ āĻĨā§āĻā§ āĻāĻ āĻĢāĻžāĻāĻ˛āĻāĻŋāĻā§ āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖāĻ°ā§āĻĒā§ āĻŽā§āĻā§ āĻĢā§āĻ˛āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻĒāĻ¨āĻžāĻā§ āĻ
āĻŦāĻļā§āĻ¯āĻ 7b30847 āĻĨā§āĻā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻāĻŽāĻŋāĻ āĻĄāĻžāĻāĻ¨āĻ¸ā§āĻā§āĻ°āĻŋāĻŽ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ˛āĻŋāĻāĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻāĻāĻŋ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻāĻĒāĻ¨āĻŋ filter-branch āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨, āĻ¯āĻž āĻāĻĒāĻ¨āĻŋ āĻ°āĻŋāĻ°āĻžāĻāĻāĻŋāĻ āĻšāĻŋāĻ¸ā§āĻā§āĻ°āĻŋāĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻā§āĻ¨āĻ
$ git filter-branch --index-filter \
'git rm --ignore-unmatch --cached git.tgz' -- 7b30847^..
Rewrite 7b30847d080183a1ab7d18fb202473b3096e9f34 (1/2)rm 'git.tgz'
Rewrite dadf7258d699da2c8d89b09ef6670edb7d5f91b4 (2/2)
Ref 'refs/heads/master' was rewritten
–index-filter āĻ
āĻĒāĻļāĻ¨āĻāĻŋ āĻ°āĻŋāĻ°āĻžāĻāĻāĻŋāĻ āĻšāĻŋāĻ¸ā§āĻā§āĻ°āĻŋāĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ –tree-filter āĻ
āĻĒāĻļāĻ¨ā§āĻ° āĻ
āĻ¨ā§āĻ°ā§āĻĒ, āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻĒāĻžāĻ¸ āĻāĻ°ā§ āĻĄāĻŋāĻ¸ā§āĻā§ āĻā§āĻ āĻāĻāĻ āĻāĻ°āĻž āĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋāĻā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻžāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§, āĻāĻĒāĻ¨āĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻŦāĻžāĻ° āĻāĻĒāĻ¨āĻžāĻ° āĻ¸ā§āĻā§āĻāĻŋāĻ āĻāĻ°āĻŋāĻ¯āĻŧāĻž āĻŦāĻž āĻāĻ¨āĻĄā§āĻā§āĻ¸ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻā§āĻ¨āĨ¤
rm file āĻŽāĻ¤ā§ āĻāĻŋāĻā§ āĻĻāĻŋāĻ¯āĻŧā§ āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻĢāĻžāĻāĻ˛ āĻŽā§āĻā§ āĻĢā§āĻ˛āĻžāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§, āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻāĻŋāĻā§ git rm –cached āĻĻāĻŋāĻ¯āĻŧā§ āĻŽā§āĻā§ āĻĢā§āĻ˛āĻ¤ā§ āĻšāĻŦā§ – āĻāĻĒāĻ¨āĻžāĻā§ āĻ āĻŦāĻļā§āĻ¯āĻ āĻāĻāĻŋāĻā§ āĻāĻ¨āĻĄā§āĻā§āĻ¸ āĻĨā§āĻā§ āĻ¸āĻ°āĻŋāĻ¯āĻŧā§ āĻĢā§āĻ˛āĻ¤ā§ āĻšāĻŦā§, āĻĄāĻŋāĻ¸ā§āĻ āĻĨā§āĻā§ āĻ¨āĻ¯āĻŧāĨ¤ āĻāĻāĻāĻžāĻŦā§ āĻāĻāĻŋ āĻāĻ°āĻžāĻ° āĻāĻžāĻ°āĻŖ āĻšāĻ˛ āĻāĻ¤āĻŋ – āĻ¯ā§āĻšā§āĻ¤ā§ āĻāĻŋāĻāĻā§ āĻāĻĒāĻ¨āĻžāĻ° āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ° āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻāĻā§ āĻĄāĻŋāĻ¸ā§āĻā§ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻ°āĻŋāĻāĻŋāĻļāĻ¨ āĻā§āĻ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻ¨āĻž, āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻŋ āĻ āĻ¨ā§āĻ, āĻ āĻ¨ā§āĻ āĻĻā§āĻ°ā§āĻ¤ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻāĻžāĻāĻ˛ā§ –tree-filter āĻĻāĻŋāĻ¯āĻŧā§ āĻāĻāĻ āĻāĻžāĻ āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤ git rm-āĻāĻ° –ignore-unmatch āĻ āĻĒāĻļāĻ¨āĻāĻŋ āĻāĻāĻŋāĻā§ āĻŦāĻ˛ā§ āĻ¯ā§ āĻāĻĒāĻ¨āĻŋ āĻ¯ā§ āĻĒā§āĻ¯āĻžāĻāĻžāĻ°ā§āĻ¨āĻāĻŋ āĻ¸āĻ°āĻžāĻ¨ā§āĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°āĻā§āĻ¨ āĻ¸ā§āĻāĻŋ āĻ¯āĻĻāĻŋ āĻ¨āĻž āĻĨāĻžāĻā§ āĻ¤āĻŦā§ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻ¨āĻž āĻ§āĻ°āĻ¤ā§āĨ¤ āĻ āĻŦāĻļā§āĻˇā§, āĻāĻĒāĻ¨āĻŋ filter-branch āĻ āĻĒāĻļāĻ¨āĻāĻŋāĻā§ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° 7b30847 āĻāĻŽāĻŋāĻā§āĻ° āĻĒāĻ° āĻĨā§āĻā§ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻŋāĻ āĻšāĻŋāĻ¸ā§āĻā§āĻ°āĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ˛āĻŋāĻāĻ¤ā§ āĻŦāĻ˛āĻŦā§āĻ¨, āĻāĻžāĻ°āĻŖ āĻāĻĒāĻ¨āĻŋ āĻāĻžāĻ¨ā§āĻ¨ āĻ¯ā§ āĻāĻ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻāĻŋ āĻ¸ā§āĻāĻžāĻ¨ āĻĨā§āĻā§āĻ āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛āĨ¤ āĻ āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ, āĻāĻāĻŋ āĻļā§āĻ°ā§ āĻĨā§āĻā§ āĻļā§āĻ°ā§ āĻšāĻŦā§ āĻāĻŦāĻ āĻ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧāĻāĻžāĻŦā§ āĻŦā§āĻļāĻŋ āĻ¸āĻŽāĻ¯āĻŧ āĻ˛āĻžāĻāĻŦā§āĨ¤
āĻāĻĒāĻ¨āĻžāĻ° āĻāĻŋāĻ āĻšāĻŋāĻ¸ā§āĻā§āĻ°āĻŋāĻ¤ā§ āĻāĻ° āĻ¸ā§āĻ āĻĢāĻžāĻāĻ˛ā§āĻ° āĻ°ā§āĻĢāĻžāĻ°ā§āĻ¨ā§āĻ¸ āĻ¨ā§āĻāĨ¤ āĻ¯āĻžāĻāĻšā§āĻ, āĻāĻĒāĻ¨āĻžāĻ° reflog āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ¸ā§āĻā§āĻ° refs āĻ¯āĻž āĻāĻŋāĻ āĻ āĻ¯ā§āĻ āĻāĻ°ā§āĻā§ āĻ¯āĻāĻ¨ āĻāĻĒāĻ¨āĻŋ .git/refs/original āĻāĻ° āĻ āĻ§ā§āĻ¨ā§ filter-branch āĻ āĻāĻ°ā§āĻāĻŋāĻ˛ā§āĻ¨, āĻ¤āĻžāĻ āĻāĻĒāĻ¨āĻžāĻā§ āĻ¸ā§āĻā§āĻ˛āĻŋ āĻ¸āĻ°āĻžāĻ¤ā§ āĻšāĻŦā§ āĻāĻŦāĻ āĻ¤āĻžāĻ°āĻĒāĻ° āĻĄāĻžāĻāĻžāĻŦā§āĻ¸āĻāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻĒā§āĻ¯āĻžāĻ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻ°āĻŋāĻĒā§āĻ¯āĻžāĻ āĻāĻ°āĻžāĻ° āĻāĻā§ āĻāĻĒāĻ¨āĻžāĻā§ āĻ¸ā§āĻ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻŋāĻ¤ āĻāĻŽāĻŋāĻāĻā§āĻ˛āĻŋāĻā§ āĻ āĻĒāĻ¸āĻžāĻ°āĻŖ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĻ
rm file āĻŽāĻ¤ā§ āĻāĻŋāĻā§ āĻĻāĻŋāĻ¯āĻŧā§ āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻĢāĻžāĻāĻ˛ āĻŽā§āĻā§ āĻĢā§āĻ˛āĻžāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§, āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻāĻŋāĻā§ git rm –cached āĻĻāĻŋāĻ¯āĻŧā§ āĻŽā§āĻā§ āĻĢā§āĻ˛āĻ¤ā§ āĻšāĻŦā§ – āĻāĻĒāĻ¨āĻžāĻā§ āĻ āĻŦāĻļā§āĻ¯āĻ āĻāĻāĻŋāĻā§ āĻāĻ¨āĻĄā§āĻā§āĻ¸ āĻĨā§āĻā§ āĻ¸āĻ°āĻŋāĻ¯āĻŧā§ āĻĢā§āĻ˛āĻ¤ā§ āĻšāĻŦā§, āĻĄāĻŋāĻ¸ā§āĻ āĻĨā§āĻā§ āĻ¨āĻ¯āĻŧāĨ¤ āĻāĻāĻāĻžāĻŦā§ āĻāĻāĻŋ āĻāĻ°āĻžāĻ° āĻāĻžāĻ°āĻŖ āĻšāĻ˛ āĻāĻ¤āĻŋ – āĻ¯ā§āĻšā§āĻ¤ā§ āĻāĻŋāĻāĻā§ āĻāĻĒāĻ¨āĻžāĻ° āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ° āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻāĻā§ āĻĄāĻŋāĻ¸ā§āĻā§ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻ°āĻŋāĻāĻŋāĻļāĻ¨ āĻā§āĻ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻ¨āĻž, āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻŋ āĻ āĻ¨ā§āĻ, āĻ āĻ¨ā§āĻ āĻĻā§āĻ°ā§āĻ¤ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻāĻžāĻāĻ˛ā§ –tree-filter āĻĻāĻŋāĻ¯āĻŧā§ āĻāĻāĻ āĻāĻžāĻ āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤ git rm-āĻāĻ° –ignore-unmatch āĻ āĻĒāĻļāĻ¨āĻāĻŋ āĻāĻāĻŋāĻā§ āĻŦāĻ˛ā§ āĻ¯ā§ āĻāĻĒāĻ¨āĻŋ āĻ¯ā§ āĻĒā§āĻ¯āĻžāĻāĻžāĻ°ā§āĻ¨āĻāĻŋ āĻ¸āĻ°āĻžāĻ¨ā§āĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°āĻā§āĻ¨ āĻ¸ā§āĻāĻŋ āĻ¯āĻĻāĻŋ āĻ¨āĻž āĻĨāĻžāĻā§ āĻ¤āĻŦā§ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻ¨āĻž āĻ§āĻ°āĻ¤ā§āĨ¤ āĻ āĻŦāĻļā§āĻˇā§, āĻāĻĒāĻ¨āĻŋ filter-branch āĻ āĻĒāĻļāĻ¨āĻāĻŋāĻā§ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° 7b30847 āĻāĻŽāĻŋāĻā§āĻ° āĻĒāĻ° āĻĨā§āĻā§ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻŋāĻ āĻšāĻŋāĻ¸ā§āĻā§āĻ°āĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ˛āĻŋāĻāĻ¤ā§ āĻŦāĻ˛āĻŦā§āĻ¨, āĻāĻžāĻ°āĻŖ āĻāĻĒāĻ¨āĻŋ āĻāĻžāĻ¨ā§āĻ¨ āĻ¯ā§ āĻāĻ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻāĻŋ āĻ¸ā§āĻāĻžāĻ¨ āĻĨā§āĻā§āĻ āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛āĨ¤ āĻ āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ, āĻāĻāĻŋ āĻļā§āĻ°ā§ āĻĨā§āĻā§ āĻļā§āĻ°ā§ āĻšāĻŦā§ āĻāĻŦāĻ āĻ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧāĻāĻžāĻŦā§ āĻŦā§āĻļāĻŋ āĻ¸āĻŽāĻ¯āĻŧ āĻ˛āĻžāĻāĻŦā§āĨ¤
āĻāĻĒāĻ¨āĻžāĻ° āĻāĻŋāĻ āĻšāĻŋāĻ¸ā§āĻā§āĻ°āĻŋāĻ¤ā§ āĻāĻ° āĻ¸ā§āĻ āĻĢāĻžāĻāĻ˛ā§āĻ° āĻ°ā§āĻĢāĻžāĻ°ā§āĻ¨ā§āĻ¸ āĻ¨ā§āĻāĨ¤ āĻ¯āĻžāĻāĻšā§āĻ, āĻāĻĒāĻ¨āĻžāĻ° reflog āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ¸ā§āĻā§āĻ° refs āĻ¯āĻž āĻāĻŋāĻ āĻ āĻ¯ā§āĻ āĻāĻ°ā§āĻā§ āĻ¯āĻāĻ¨ āĻāĻĒāĻ¨āĻŋ .git/refs/original āĻāĻ° āĻ āĻ§ā§āĻ¨ā§ filter-branch āĻ āĻāĻ°ā§āĻāĻŋāĻ˛ā§āĻ¨, āĻ¤āĻžāĻ āĻāĻĒāĻ¨āĻžāĻā§ āĻ¸ā§āĻā§āĻ˛āĻŋ āĻ¸āĻ°āĻžāĻ¤ā§ āĻšāĻŦā§ āĻāĻŦāĻ āĻ¤āĻžāĻ°āĻĒāĻ° āĻĄāĻžāĻāĻžāĻŦā§āĻ¸āĻāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻĒā§āĻ¯āĻžāĻ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻ°āĻŋāĻĒā§āĻ¯āĻžāĻ āĻāĻ°āĻžāĻ° āĻāĻā§ āĻāĻĒāĻ¨āĻžāĻā§ āĻ¸ā§āĻ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻŋāĻ¤ āĻāĻŽāĻŋāĻāĻā§āĻ˛āĻŋāĻā§ āĻ āĻĒāĻ¸āĻžāĻ°āĻŖ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĻ
$ rm -Rf .git/refs/original
$ rm -Rf .git/logs/
$ git gc
Counting objects: 15, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (11/11), done.
Writing objects: 100% (15/15), done.
Total 15 (delta 1), reused 12 (delta 0)
āĻāĻĒāĻ¨āĻŋ āĻāĻ¤ āĻāĻžāĻ¯āĻŧāĻāĻž āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°ā§āĻā§āĻ¨ āĻ¤āĻž āĻĻā§āĻāĻž āĻ¯āĻžāĻāĨ¤
$ git count-objects -v
count: 11
size: 4904
in-pack: 15
packs: 1
size-pack: 8
prune-packable: 0
garbage: 0
size-garbage: 0
āĻĒā§āĻ¯āĻžāĻ āĻāĻ°āĻž āĻ°āĻŋāĻĒā§āĻāĻŋāĻāĻ°āĻŋāĻ° āĻāĻāĻžāĻ° 8K-āĻ āĻ¨ā§āĻŽā§ āĻāĻ¸ā§āĻā§, āĻ¯āĻž 5MB āĻĨā§āĻā§ āĻ
āĻ¨ā§āĻ āĻāĻžāĻ˛ā§āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻžāĻ°ā§āĻ° āĻŽāĻžāĻ¨ āĻĨā§āĻā§ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻā§āĻā§āĻ¨ āĻ¯ā§ āĻŦāĻĄāĻŧ āĻ
āĻŦāĻā§āĻā§āĻāĻāĻŋ āĻāĻāĻ¨āĻ āĻāĻĒāĻ¨āĻžāĻ° āĻ˛ā§āĻ āĻ
āĻŦāĻā§āĻā§āĻ āĻšāĻŋāĻ¸ā§āĻŦā§ āĻ°āĻ¯āĻŧā§āĻā§, āĻ¤āĻžāĻ āĻāĻāĻŋ āĻāĻ˛ā§ āĻ¯āĻžā§āĻ¨āĻŋ; āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻĒā§āĻļ āĻŦāĻž āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻā§āĻ˛ā§āĻ¨ā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻšāĻŦā§ āĻ¨āĻž, āĻ¯āĻž āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖāĨ¤ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ¸āĻ¤ā§āĻ¯āĻŋāĻ āĻāĻžāĻ¨ āĻ¤āĻŦā§ āĻāĻĒāĻ¨āĻŋ –expire āĻ
āĻĒāĻļāĻ¨ā§āĻ° āĻ¸āĻžāĻĨā§ git prune āĻāĻžāĻ˛āĻŋāĻ¯āĻŧā§ āĻ
āĻŦāĻā§āĻā§āĻāĻāĻŋāĻā§ āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖāĻ°ā§āĻĒā§ āĻ¸āĻ°āĻŋāĻ¯āĻŧā§ āĻĢā§āĻ˛āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤
$ git prune --expire now
$ git count-objects -v
count: 0
size: 0
in-pack: 15
packs: 1
size-pack: 8
prune-packable: 0
garbage: 0
size-garbage: 0