Everybody uses these commands to maintain git repositories.
- * gitlink:git-init-db[1] or gitlink:git-clone[1] to create a
+ * gitlink:git-init[1] or gitlink:git-clone[1] to create a
new repository.
* gitlink:git-fsck-objects[1] to check the repository for errors.
* gitlink:git-repack[1] to pack loose objects for efficiency.
+ * gitlink:git-gc[1] to do common housekeeping tasks such as
+ repack and prune.
+
Examples
~~~~~~~~
+
------------
$ git fsck-objects <1>
-$ git prune
$ git count-objects <2>
$ git repack <3>
-$ git prune <4>
+$ git gc <4>
------------
+
<1> running without `\--full` is usually cheap and assures the
disk space is wasted by not repacking.
<3> without `-a` repacks incrementally. repacking every 4-5MB
of loose objects accumulation may be a good rule of thumb.
-<4> after repack, prune removes the duplicate loose objects.
+<4> it is easier to use `git gc` than individual housekeeping commands
+such as `prune` and `repack`. This runs `repack -a -d`.
Repack a small project into single pack.::
+
------------
$ tar zxf frotz.tar.gz
$ cd frotz
-$ git-init-db
+$ git-init
$ git add . <1>
$ git commit -m 'import of frotz source tree.'
$ git tag v2.43 <2>