From: Liu Yubao <yubao.liu@gmail•com>
To: git@vger•kernel.org
Subject: [DOC] more explanation about --git-dir and --work-tree options
Date: Tue, 29 Apr 2008 04:09:20 +0800 [thread overview]
Message-ID: <48162EF0.6050705@gmail.com> (raw)
Hi,
I find these two options bring me surprise:
git init $HOME
git add ~/.vimrc ~/.gvimrc ~/.vim
cd $HOME/work/xxx
....do some work, then change ~/.vimrc without changing
working directory
git --git-dir $HOME/.git status
I use --git-dir because I have another .git in $HOME/work/xxx, the
last command surprises me much, it tells me .vim* are all deleted!
After checking the code, I realize git thinks the current working
directory as top directory of the working tree if --git-dir is specified
without --work-tree option.
I try to modify this behaviour so that git thinks the parent directory
of .git/ as the top directory of my working tree, but later I find many
tests are broken and I realize many scripts and many(??) git users would
like probably to work in the top directory of their working trees providing
only one extra --git-dir option with separated git repositories without
touching .git/config and environment variables, so I decide to give up
my patch and accustom myself to the new lovely core.worktree configuration
variable.
And here is my supplement to the documentation.
---
Documentation/config.txt | 9 ++++++++-
Documentation/git.txt | 10 ++++++++--
2 files changed, 16 insertions(+), 3 deletions(-)
diff --git a/Documentation/config.txt b/Documentation/config.txt
index 7a24f6e..307e089 100644
--- a/Documentation/config.txt
+++ b/Documentation/config.txt
@@ -234,7 +234,14 @@ core.worktree::
used in combination with repositories found automatically in
a .git directory (i.e. $GIT_DIR is not set).
This can be overridden by the GIT_WORK_TREE environment
- variable and the '--work-tree' command line option.
+ variable and the '--work-tree' command line option. It can be
+ a absolute path or relative path to the directory specified by
+ --git-dir or GIT_DIR.
+ Note: If --git-dir or GIT_DIR are specified but none of
+ --work-tree, GIT_WORK_TREE and core.worktree is specified,
+ the current working directory is regarded as the top directory
+ of your working tree.
+
core.logAllRefUpdates::
Enable the reflog. Updates to a ref <ref> is logged to the file
diff --git a/Documentation/git.txt b/Documentation/git.txt
index a070e07..5b41e16 100644
--- a/Documentation/git.txt
+++ b/Documentation/git.txt
@@ -143,7 +143,8 @@ help ...'.
--git-dir=<path>::
Set the path to the repository. This can also be controlled by
- setting the GIT_DIR environment variable.
+ setting the GIT_DIR environment variable. It can be an absolute
+ path or relative path to current working directory.
--work-tree=<path>::
Set the path to the working tree. The value will not be
@@ -151,7 +152,12 @@ help ...'.
a .git directory (i.e. $GIT_DIR is not set).
This can also be controlled by setting the GIT_WORK_TREE
environment variable and the core.worktree configuration
- variable.
+ variable. It can be an absolute path or relative path to
+ the directory specified by --git-dir or GIT_DIR.
+ Note: If --git-dir or GIT_DIR are specified but none of
+ --work-tree, GIT_WORK_TREE and core.worktree is specified,
+ the current working directory is regarded as the top directory
+ of your working tree.
--bare::
Treat the repository as a bare repository. If GIT_DIR
--
1.5.5
next reply other threads:[~2008-04-28 20:10 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-04-28 20:09 Liu Yubao [this message]
2008-04-29 15:49 ` [DOC] more explanation about --git-dir and --work-tree options Michael J Gruber
2008-04-29 21:30 ` しらいしななこ
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=48162EF0.6050705@gmail.com \
--to=yubao.liu@gmail$(echo .)com \
--cc=git@vger$(echo .)kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox