Cloning into an existing directory

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I would like to manage my startup scripts such as .bashrc and other
setup files relative to my HOME directory using Git. However,
git-clone disallows cloning into the existing "." directory, but only
allows cloning into a subdirectory that does not yet exist.  If my
home directory is /home/brentg and my remote repository is on
remote_machine:~brentg/my_setup.git then git clone in my home
directory on the local machine creates /home/brentg/my_setup with
files such as .bashrc inside it, which is not what I want. I want them
checked out and managed _in_ the current working directory, and not to
mess with other files or directories that already exist that are never
to be managed by git.

I don't want to create softlinks from files in the HOME directory down
into the subdirectory (e.g., /home/brentg/.bashrc -->
my_setup/.bashrc) if I can at all avoid it, since then to do so for
all of my setup would require extra scripting work, and it may be the
case that some setup files are required to be regular files and not
symbolic links by certain programs.  Moving the files manually is also
out of the question, since then I can't do a git diff operation on the
file directly.

I did see the --bare option to clone, but the entry in the git-clone
man page implies that using that option turns off a lot of tracking of
things that I believe I will need:

       --bare
           Make a bare GIT repository. That is, instead of creating
<directory> and placing the administrative files in
           <directory>/.git, make the <directory> itself the $GIT_DIR.
This obviously implies the -n because there is nowhere to check
           out the working tree. Also the branch heads at the remote
are copied directly to corresponding local branch heads, without
           mapping them to refs/remotes/origin/. When this option is
used, neither remote-tracking branches nor the related
           configuration variables are created.

Specifically, the statement: "branch heads at the remote are copied
directly to corresponding local branch heads, without mapping them to
refs/remotes/origin" and "neither remote-tracking branches nor the
related configuration variables are created" are what is scaring me
off.

Is there a way do to this, or is the --bare option really what I need
here? If so, what are the caveats of the use of that option given the
above "scary" statements.

What is interesting to note, is that git clone on a local repository
to "." seems to work just fine. It is only when cloning from remote
repositories that it complains about the target being an existing
directory.

Thanks,
bg
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux