Hi! Dominik Salvet wrote: > 1) `git fetch origin && git remote set-head origin -a` > 2) `git fetch origin +refs/heads/*:refs/remotes/origin/* > HEAD:refs/remotes/origin/HEAD` > 3) instead of git init and remote, use directly `git clone --no-checkout` > > The first solution is not suitable due its delay caused by remote > access (2 separate invocations). For smaller repositories, delays of > these individual commands are almost comparable. However, this > solution is semantically exactly what I want. Interesting. For the specific case, it sounds like some kind of "git fetch --also-set-head" would do the trick for you. As you can see, I'm awful at naming command line options --- aside from the need to give it a better name, any others thoughts on that? Would you be interested in taking a stab at implementing it? For the more general case, there's been some discussion of fetching and pushing symrefs on-list before. [1] discusses one possible UI. [...] > The third solution has several problems. The first one is the created > default local branch. So delete it. Hm, I don't follow. Does "git checkout --orphan" do what you're looking for? Thanks and hope that helps, Jonathan [1] https://public-inbox.org/git/20180814214723.GA667@xxxxxxxxxxxxxxxxxxxxx/