So I am writing a script that initializes a git repository in ~/.cfi, adds a remote, and pulls it down from the server.
Creating the directory, and init
Yes, with the --git-dir and --work-tree options.
And since git 1.8.5, you even can use -C (shorter option).
See "Use git log command in another folder"
git --git-dir=/path/to/repo/.git --work-tree=/path/to/repo remote add xxx
git --git-dir=/path/to/repo/.git --work-tree=/path/to/repo pull
Or:
git -C /path/to/repo remote add xxx
git -C /path/to/repo pull
git itself has parameters --git-dir for the .git directory and --work-tree for your working copy:
git --git-dir /where/ever remote add ...