git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH] everyday: fsck and gc are not everyday operations

From
Anders Kaseorg <andersk@mit.edu>
Date
Oct 21, 2009, 20:02 UTC
Message-ID
<alpine.DEB.2.00.0910211559210.5105@dr-wily.mit.edu>

Back in 2005 when this document was written, it may have made sense to introduce ‘git fsck’ (then ‘git fsck-objects’) as the very first example command for new users of Git 0.99.9. Now that Git has been stable for years and does not actually tend to eat your data, it makes significantly less sense. In fact, it sends an entirely wrong message.

‘git gc’ is also unnecessary for the purposes of this document, especially with gc.auto enabled by default.

The only other commands in the “Basic Repository” section were ‘git init’ and ‘git clone’. ‘clone’ is already listed in the “Participant” section, so move ‘init’ to the “Standalone” section and get rid of “Basic Repository” entirely.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
---
 Documentation/everyday.txt |   51 +++----------------------------------------
 1 files changed, 4 insertions(+), 47 deletions(-)
diff --git a/Documentation/everyday.txt b/Documentation/everyday.txt
index 9310b65..e0ba8cc 100644
--- a/Documentation/everyday.txt
+++ b/Documentation/everyday.txt
@@ -1,13 +1,8 @@
 Everyday GIT With 20 Commands Or So
 ===================================
 
-<<Basic Repository>> commands are needed by people who have a
-repository --- that is everybody, because every working tree of
-git is a repository.
-
-In addition, <<Individual Developer (Standalone)>> commands are
-essential for anybody who makes a commit, even for somebody who
-works alone.
+<<Individual Developer (Standalone)>> commands are essential for
+anybody who makes a commit, even for somebody who works alone.
 
 If you work with other people, you will need commands listed in
 the <<Individual Developer (Participant)>> section as well.
@@ -20,46 +15,6 @@ administrators who are responsible for the care and feeding
 of git repositories.
 
 
-Basic Repository[[Basic Repository]]
-------------------------------------
-
-Everybody uses these commands to maintain git repositories.
-
-  * linkgit:git-init[1] or linkgit:git-clone[1] to create a
-    new repository.
-
-  * linkgit:git-fsck[1] to check the repository for errors.
-
-  * linkgit:git-gc[1] to do common housekeeping tasks such as
-    repack and prune.
-
-Examples
-~~~~~~~~
-
-Check health and remove cruft.::
-+
-------------
-$ git fsck <1>
-$ git count-objects <2>
-$ git gc <3>
-------------
-+
-<1> running without `\--full` is usually cheap and assures the
-repository health reasonably well.
-<2> check how many loose objects there are and how much
-disk space is wasted by not repacking.
-<3> repacks the local repository and performs other housekeeping tasks.
-
-Repack a small project into single pack.::
-+
-------------
-$ git gc <1>
-------------
-+
-<1> pack all the objects reachable from the refs into one pack,
-then remove the other packs.
-
-
 Individual Developer (Standalone)[[Individual Developer (Standalone)]]
 ----------------------------------------------------------------------
 
@@ -67,6 +22,8 @@ A standalone individual developer does not exchange patches with
 other people, and works alone in a single repository, using the
 following commands.
 
+  * linkgit:git-init[1] to create a new repository.
+
   * linkgit:git-show-branch[1] to see where you are.
 
   * linkgit:git-log[1] to see what happened.
-- 
1.6.5.1
Next: Anders Kaseorg
Message 1 of 2 in “everyday: fsck and gc are not everyday operations”
  1. everyday: fsck and gc are not everyday operationsAnders Kaseorg, Oct 21, 2009
  2. Anders KaseorgMar 15, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.