# git push stages original version on server

3 messages from 2009-09-11 to 2009-09-11. Participants: Roald de Vries, Paolo Bonzini, Mikael Magnusson.
Thread: https://gitlist.dev/t/20901

## Roald de Vries, 2009-09-11 10:40

Subject: git push stages original version on server
Message-ID: <D7E5118C-AE88-4C4B-8D8A-5AF16ECF731D@roalddevries.nl>
URL: https://gitlist.dev/e/D7E5118C-AE88-4C4B-8D8A-5AF16ECF731D%40roalddevries.nl

```
Hi all,

There's a thing I don't understand: I have a repository on a server  
from/to which I pull/push. But when I push to it, and do a checkout on  
the server, the pushed changes are not visible. It appears that the  
changed file is added to the index on the server automatically. Why is  
this? It seems dangerous. If I do a commit on the server, the changes  
from the client will be lost.

There's also a thing I'm not sure exists: I use a git server/client  
setup for developing a website. I would like git-pushes to appear  
immediately online (without having to ssh to the server and checking  
out manually). Is this possible?

My questions are:
- Why does git work like this?
- Can I change its behaviour (if I still want that after the answer to  
the previous question)?
- How can I have git automatically checkout pushed changes on the  
server?

Thanks in advance.

Kind regards,

Roald

```

## Paolo Bonzini, 2009-09-11 11:09

Subject: Re: git push stages original version on server
Message-ID: <4AAA2FE7.5020802@gnu.org>
URL: https://gitlist.dev/e/4AAA2FE7.5020802%40gnu.org
In-Reply-To: <D7E5118C-AE88-4C4B-8D8A-5AF16ECF731D@roalddevries.nl>

```
Pushing to a non-bare repository is discouraged.

> - How can I have git automatically checkout pushed changes on the server?

I think you could in principle add a hook that does the "git checkout" 
or "git reset --hard $(git symbolic-ref HEAD)", but I suggest pushing to 
a bare repository and have the hook trigger a "git pull" elsewhere.

Paolo

```

## Mikael Magnusson, 2009-09-11 11:11

Subject: Re: git push stages original version on server
Message-ID: <237967ef0909110411u34010660w2fda90d5bba1e9dc@mail.gmail.com>
URL: https://gitlist.dev/e/237967ef0909110411u34010660w2fda90d5bba1e9dc%40mail.gmail.com
In-Reply-To: <D7E5118C-AE88-4C4B-8D8A-5AF16ECF731D@roalddevries.nl>

```
2009/9/11 Roald de Vries <rdv@roalddevries.nl>:
> Hi all,
>
> There's a thing I don't understand: I have a repository on a server from/to
> which I pull/push. But when I push to it, and do a checkout on the server,
> the pushed changes are not visible. It appears that the changed file is
> added to the index on the server automatically. Why is this? It seems
> dangerous. If I do a commit on the server, the changes from the client will
> be lost.
>
> There's also a thing I'm not sure exists: I use a git server/client setup
> for developing a website. I would like git-pushes to appear immediately
> online (without having to ssh to the server and checking out manually). Is
> this possible?
>
> My questions are:
> - Why does git work like this?
> - Can I change its behaviour (if I still want that after the answer to the
> previous question)?
> - How can I have git automatically checkout pushed changes on the server?
>
> Thanks in advance.
>
> Kind regards,
>
> Roald

http://git.or.cz/gitwiki/GitFaq#Whywon.27tIseechangesintheremoterepoafter.22gitpush.22.3F

-- 
Mikael Magnusson

```
