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

[PATCH] Add git help command.

From
YSYaacov Akiba Slama <ya@slamail.org>
Date
Nov 6, 2005, 10:31 UTC
Message-ID
<11312730681275-git-send-email-ya@slamail.org>
In-Reply-To
<436D276F.7010302@slamail.org>

git help COMMAND will call "man COMMAND" if there is a manpage. If there is no manpage for the command, a simple help will be shown.

Signed-off-by: Yaacov Akiba Slama <ya@slamail.org>
---
 .gitignore  |    1 +
 Makefile    |    2 +-
 git-help.sh |   13 +++++++++++++
 git.sh      |   49 +------------------------------------------------
 4 files changed, 16 insertions(+), 49 deletions(-)

applies-to: e11efdf766d582060e02722699736aa948f0b6b3 76858f6ef294a11bc617b1944d425fe86f0878d3

diff --git a/.gitignore b/.gitignore
index 3edf6b4..a412a09 100644
--- a/.gitignore
+++ b/.gitignore
@@ -34,6 +34,7 @@ git-format-patch
 git-fsck-objects
 git-get-tar-commit-id
 git-grep
+git-help
 git-hash-object
 git-http-fetch
 git-index-pack
diff --git a/Makefile b/Makefile
index 6c01dc2..fc42049 100644
--- a/Makefile
+++ b/Makefile
@@ -81,7 +81,7 @@ SCRIPT_SH = \
 	git-add.sh git-bisect.sh git-branch.sh git-checkout.sh \
 	git-cherry.sh git-clone.sh git-commit.sh \
 	git-count-objects.sh git-diff.sh git-fetch.sh \
-	git-format-patch.sh git-log.sh git-ls-remote.sh \
+	git-format-patch.sh git-help.sh git-log.sh git-ls-remote.sh \
 	git-merge-one-file.sh git-octopus.sh git-parse-remote.sh \
 	git-prune.sh git-pull.sh git-push.sh git-rebase.sh \
 	git-repack.sh git-request-pull.sh git-reset.sh \
diff --git a/git-help.sh b/git-help.sh
index a7ea23e..a415f0c 100755
--- a/git-help.sh
+++ b/git-help.sh
@@ -10,7 +10,20 @@ case "$#" in
         man -w -W git-$cmd &> /dev/null && man git-$cmd && exit 0
 esac
 
+case "$cmd" in
+	help)
+	cmd=""
+	;;
+esac
+
+if [ -n "$cmd" ]; then
+    echo "git command '$cmd' not found."
+    echo
+fi
+
 echo "Usage: git COMMAND [OPTIONS] [TARGET]"
+echo "Type 'git help COMMAND' for help on a specific command."
+echo
 
 echo "git commands are:"
 
diff --git a/git.sh b/git.sh
index 94940ae..995df00 100755
--- a/git.sh
+++ b/git.sh
@@ -25,52 +25,5 @@ case "$#" in
 	;;
 esac
 
-echo "Usage: git COMMAND [OPTIONS] [TARGET]"
-if [ -n "$cmd" ]; then
-    echo "git command '$cmd' not found."
-fi
-echo "git commands are:"
+exec "$path/git-help" "$cmd"
 
-fmt <<\EOF | sed -e 's/^/    /'
-add
-apply
-archimport
-bisect
-branch
-checkout
-cherry
-clone
-commit
-count-objects
-cvsimport
-diff
-fetch
-format-patch
-fsck-objects
-get-tar-commit-id
-init-db
-log
-ls-remote
-octopus
-pack-objects
-parse-remote
-patch-id
-prune
-pull
-push
-rebase
-relink
-rename
-repack
-request-pull
-reset
-resolve
-revert
-send-email
-shortlog
-show-branch
-status
-tag
-verify-tag
-whatchanged
-EOF
---
0.99.9.GIT
Previous: Nikolai WeibullNext: Yaacov Akiba Slama
Message 6 of 7 in “Re: git binary directory?”
  1. Yaacov Akiba SlamaNov 5, 2005
  2. Ben CliffordNov 6, 2005
  3. Nikolai WeibullNov 6, 2005
  4. Johannes SchindelinNov 6, 2005
  5. Nikolai WeibullNov 6, 2005
  6. Add git help command.Yaacov Akiba Slama, Nov 6, 2005
  7. : Add git help command. A good patch this time, I hopeYaacov Akiba Slama, Nov 6, 2005

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.