From: Kyle J. McKay Date: Sun, 08 Mar 2015 02:32:47 GMT Subject: Re: Please consider adding a -f switch to git-clone (or something similar) Message-ID: <569EEC82-664C-48A7-990D-BFCDB7D78D16@gmail.com> In-Reply-To: On Mar 7, 2015, at 17:53, Diego Viola wrote: > 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 ..." 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 [] where 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 ..." to include in what will be committed) bar baz foo nothing 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. :)