I have a repo in which I want to push changes. I want to sync two repositories: ./pages.git into ./pages. My git setup on my development machine pushes into pages.git. But the web-application works with ./pages.
git clone pages.git pages
fatal: destination path 'pages' already exists and is not an empty directory.
Well now I delete the pages directory and git clone works. But that's not the clean solution, isn't it?
Is there any way to do that without having to delete the pages directory manually? I'd like to automate that process so that git automatically performs the actions whenever I push.
Best, Marius
In my understanding you're working on
local
copy, push topages.git
and have a copy forwebapp
?If so, you can use post-receive hook on
pages.git
that will callgit pull
onpages
or make a simple copy topages
.Post-receive
hook works on remote repo after push from local one. It is executed after all refs have been updated due topush
.Why not just create a post-receive hook for the
pages.git
repository that will do agit pull
from within thepages
repository to pull over the changes?git clone
is designed to be run only once per resulting clone (hence why it complains until you delete the previous clone), whereasgit pull
is designed to be run repeatedly whenever you want to update a repo with changes from another.I have a hook setup for something essentially the same as this with a particular repository, here's the gist of it:
path_to_mirror
is the equivalent ofpages
in your situation.pages.git/.git/hooks/post-receive
file.