Hi list. Please suggest me a solution. There's a remote repository; we're not allowed to push to. We have several committers. So I want to create a local mirrror. We will push our changes to it. Once in a while I want to sync this repo with upstream. Here's what I do: on server: [git@server]$ git clone --bare ssh://git@xxxxxxxx/git/project.git /git/project.git on workstation: [me@client]$ git clone ssh://git@server/git/project.git [me@client]$ cd project [me@client]$ touch aaa [me@client]$ git add aaa [me@client]$ git commit aaa -m abracadabra [me@client]$ git push back on server: [git@server]$ git log commit e5c871122cadfa4ed4d2ab488852ecdb803b4bd8 Author: Ilya Basin <> Date: Fri May 13 13:39:39 2011 +0400 abracadabra I want to merge with upstream [git@server]$ git fetch [git@server]$ git merge origin fatal: This operation must be run in a work tree I read this article: http://www.pragmatic-source.com/en/opensource/tips/automatic-synchronization-2-git-repositories The solution described there doesn't work If I use --mirror instead of --bare to clone the repo, all local commits discarded when I fetch. -- 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