Re: Please consider adding a -f switch to git-clone (or something similar)
- From
Kyle J. McKay <mackyle@gmail.com>
- Date
- Mar 8, 2015, 02:32 UTC
- Message-ID
- <569EEC82-664C-48A7-990D-BFCDB7D78D16@gmail.com>
- In-Reply-To
- <CA+ToGPFSbOjfd5gJg+r-7WkwMB=m=4sOupaZo1WUn+O0bxAAXw@mail.gmail.com>
On Mar 7, 2015, at 17:53, Diego Viola wrote:
Show 18 quoted lines
> Something like this is the scenario I'm talking about: > > $ mkdir non-empty-dir > $ cd non-empty-dir > $ touch foo bar baz > $ git clone -f url:user/dotfiles.git . > $ git status > On branch master > Your branch is up-to-date with 'origin/master'. > Untracked files: > (use "git add <file>..." to include in what will be committed) > > bar > baz > foo > > nothing added to commit but untracked files present (use "git add" > to track)
Have you considered using an alias?
git config --global alias.irfc \
'!sh -c '\''git init && git remote add origin "$1" && git fetch &&
git checkout "${2:-master}"'\'' sh'(You'll likely have to carefully unwrap that line above.)
Then you get
git irfc <URL> [<branch>]
where <branch> defaults to master. So your scenario would become just:
$ mkdir non-empty-dir $ cd non-empty-dir $ touch foo bar baz $ git irfc url:user/dotfiles.git $ git status On branch master Your branch is up-to-date with 'origin/master'. Untracked files: (use "git add <file>..." to include in what will be committed)
bar
baz
foonothing added to commit but untracked files present (use "git add" to track)
-Kyle
P.S. irfc = init, remote, fetch, checkout. But do make up a better name. :)