path: root/Documentation
diff options
Diffstat (limited to 'Documentation')
7 files changed, 137 insertions, 8 deletions
diff --git a/Documentation/fetch-options.txt b/Documentation/fetch-options.txt
index 200c9b2..1fe8423 100644
--- a/Documentation/fetch-options.txt
+++ b/Documentation/fetch-options.txt
@@ -10,15 +10,23 @@
fetches is a descendant of `<lbranch>`. This option
overrides that check.
+ By default, `git-fetch` fetches tags that point at
+ objects that are downloaded from the remote repository
+ and stores them locally. This option disables this
+ automatic tag following.
-t, \--tags::
- By default, the git core utilities will not fetch and store
- tags under the same name as the remote repository; ask it
- to do so using `--tags`. Using this option will bound the
- list of objects pulled to the remote tags. Commits in branches
- beyond the tags will be ignored.
+ Most of the tags are fetched automatically as branch
+ heads are downloaded, but tags that do not point at
+ objects reachable from the branch heads that are being
+ tracked will not be fetched by this mechanism. This
+ flag lets all tags and their associated objects be
+ downloaded.
-u, \--update-head-ok::
By default `git-fetch` refuses to update the head which
corresponds to the current branch. This flag disables the
check. Note that fetching into the current branch will not
update the index and working directory, so use it with care.
diff --git a/Documentation/git-clone.txt b/Documentation/git-clone.txt
index ffa4fb0..790b87b 100644
--- a/Documentation/git-clone.txt
+++ b/Documentation/git-clone.txt
@@ -9,7 +9,7 @@ git-clone - Clones a repository.
-'git-clone' [-l [-s]] [-q] [-n] [-u <upload-pack>]
+'git-clone' [-l [-s]] [-q] [-n] [-o <name>] [-u <upload-pack>]
<repository> [<directory>]
@@ -58,6 +58,13 @@ OPTIONS
No checkout of HEAD is performed after the clone is complete.
+-o <name>::
+ Instead of using the branch name 'origin' to keep track
+ of the upstream repository, use <name> instead. Note
+ that the shorthand name stored in `remotes/origin` is
+ not affected, but the local branch name to pull the
+ remote `master` branch into is.
--upload-pack <upload-pack>::
-u <upload-pack>::
When given, and the repository to clone from is handled
diff --git a/Documentation/git-daemon.txt b/Documentation/git-daemon.txt
index 33f3320..a20e053 100644
--- a/Documentation/git-daemon.txt
+++ b/Documentation/git-daemon.txt
@@ -9,7 +9,8 @@ SYNOPSIS
'git-daemon' [--verbose] [--syslog] [--inetd | --port=n] [--export-all]
- [--timeout=n] [--init-timeout=n] [--strict-paths] [directory...]
+ [--timeout=n] [--init-timeout=n] [--strict-paths]
+ [--base-path=path] [directory...]
@@ -36,6 +37,14 @@ OPTIONS
git-daemon will refuse to start when this option is enabled and no
whitelist is specified.
+ Remap all the path requests as relative to the given path.
+ This is sort of "GIT root" - if you run git-daemon with
+ '--base-path=/srv/git' on, then if you later try to pull
+ 'git://', `git-daemon` will interpret the path
+ as '/srv/git/hello.git'. Home directories (the '~login' notation)
+ access is disabled.
Allow pulling from all directories that look like GIT repositories
(have the 'objects' and 'refs' subdirectories), even if they
diff --git a/Documentation/git-describe.txt b/Documentation/git-describe.txt
new file mode 100644
index 0000000..0efe82a
--- /dev/null
+++ b/Documentation/git-describe.txt
@@ -0,0 +1,79 @@
+git-describe - Show the most recent tag that is reachable from a commit.
+'git-describe' [--all] [--tags] [--abbrev=<n>] <committish>...
+The command finds the most recent tag that is reachable from a
+commit, and if the commit itself is pointed at by the tag, shows
+the tag. Otherwise, it suffixes the tag name with abbreviated
+object name of the commit.
+ The object name of the comittish.
+ Instead of using only the annotated tags, use any ref
+ found in `.git/refs/`.
+ Instead of using only the annotated tags, use any tag
+ found in `.git/refs/tags`.
+ Instead of using the default 8 hexadecimal digits as the
+ abbreviated object name, use <n> digits.
+With something like git.git current tree, I get:
+ [torvalds@g5 git]$ git-describe parent
+ v1.0.4-g2414721b
+i.e. the current head of my "parent" branch is based on v1.0.4,
+but since it has a few commits on top of that, it has added the
+git hash of the thing to the end: "-g" + 8-char shorthand for
+the commit `2414721b194453f058079d897d13c4e377f92dc6`.
+Doing a "git-describe" on a tag-name will just show the tag name:
+ [torvalds@g5 git]$ git-describe v1.0.4
+ v1.0.4
+With --all, the command can use branch heads as references, so
+the output shows the reference path as well:
+ [torvalds@g5 git]$ git describe --all --abbrev=4 v1.0.5^2
+ tags/v1.0.0-g975b
+ [torvalds@g5 git]$ git describe --all HEAD^
+ heads/lt/describe-g975b
+Written by Linus Torvalds <>, but somewhat
+butchered by Junio C Hamano <>
+Documentation by David Greaves, Junio C Hamano and the git-list <>.
+Part of the gitlink:git[7] suite
diff --git a/Documentation/git-rev-parse.txt b/Documentation/git-rev-parse.txt
index 431b8f6..d638bfc 100644
--- a/Documentation/git-rev-parse.txt
+++ b/Documentation/git-rev-parse.txt
@@ -68,10 +68,15 @@ OPTIONS
Show all refs found in `$GIT_DIR/refs`.
- When the command is invoked from a directory show the
+ When the command is invoked from a subdirectory, show the
path of the current directory relative to the top-level
+ When the command is invoked from a subdirectory, show the
+ path of the top-level directory relative to the current
+ directory (typically a sequence of "../", or an empty string).
--since=datestring, --after=datestring::
Parses the date string, and outputs corresponding
--max-age= parameter for git-rev-list command.
diff --git a/Documentation/git.txt b/Documentation/git.txt
index 875d487..92cfe0e 100644
--- a/Documentation/git.txt
+++ b/Documentation/git.txt
@@ -139,6 +139,9 @@ Interrogation commands
Provide content or type/size information for repository objects.
+ Show the most recent tag that is reachable from a commit.
Compares content and mode of blobs between the index and repository.
diff --git a/Documentation/tutorial.txt b/Documentation/tutorial.txt
index 3a5c56e..edd91cb 100644
--- a/Documentation/tutorial.txt
+++ b/Documentation/tutorial.txt
@@ -1695,6 +1695,24 @@ You still need to create UNIX user accounts for each developer,
and put them in the same group. Make sure that the repository
shared among these developers is writable by that group.
+. Initializing the shared repository with `git-init-db --shared`
+helps somewhat.
+. Run the following in the shared repository:
+$ chgrp -R $group repo.git
+$ find repo.git -type d -print | xargs chmod ug+rwx,g+s
+$ GIT_DIR=repo.git git repo-config core.sharedrepository true
+The above measures make sure that directories lazily created in
+`$GIT_DIR` are writable by group members. You, as the
+repository administrator, are still responsible to make sure
+your developers belong to that shared repository group and set
+their umask to a value no stricter than 027 (i.e. at least allow
+reading and searching by group members).
You can implement finer grained branch policies using update
hooks. There is a document ("control access to branches") in
Documentation/howto by Carl Baldwin and JC outlining how to (1)