git push no actualiza los files en el server remoto

He configurado un repository git en mi máquina local y un repository vacío en una caja de linode. Al hacer un git push no hay errores, pero no veo el file en el server remoto. La secuencia de commands que seguí fue la siguiente:

En remoto:

[email protected]:~$ mkdir dev [email protected]:~$ cd dev && git init --bare 

En la máquina local:

 krypton:test abhijat$ git init krypton:test abhijat$ vim app.py krypton:test abhijat$ git init Initialized empty Git repository in /Users/abhijat/dev/test/.git/ krypton:test abhijat$ git add . krypton:test abhijat$ git status # On branch master # # Initial commit # # Changes to be committed: # (use "git rm --cached <file>..." to unstage) # # new file: app.py # krypton:test abhijat$ git commit -m 'test first commit' [master (root-commit) 3bee148] test first commit 1 files changed, 16 insertions(+), 0 deletions(-) create mode 100644 app.py krypton:test abhijat$ git remote add origin [email protected]:~/dev krypton:test abhijat$ git push -v origin master Pushing to [email protected]:~/dev Counting objects: 2, done. Delta compression using up to 4 threads. Compressing objects: 100% (2/2), done. Writing objects: 100% (2/2), 298 bytes, done. Total 2 (delta 1), reused 0 (delta 0) To [email protected]:~/dev 01a0e08..2273564 master -> master 

Pero cuando reviso el linode, el file está ausente:

 [email protected]:~/dev$ ls -ltr total 32 drwxr-xr-x 4 abhijat abhijat 4096 Sep 8 10:17 refs drwxr-xr-x 2 abhijat abhijat 4096 Sep 8 10:17 info drwxr-xr-x 2 abhijat abhijat 4096 Sep 8 10:17 hooks -rw-r--r-- 1 abhijat abhijat 73 Sep 8 10:17 description drwxr-xr-x 2 abhijat abhijat 4096 Sep 8 10:17 branches -rw-r--r-- 1 abhijat abhijat 23 Sep 8 10:17 HEAD -rw-r--r-- 1 abhijat abhijat 66 Sep 8 10:57 config drwxr-xr-x 12 abhijat abhijat 4096 Sep 8 11:03 objects [email protected]:~/dev$ find . -name app.py [email protected]:~/dev$ 

¿Me estoy perdiendo algo obvio aquí? La comunicación es a través de ssh y las keys se configuran como se esperaba, puedo iniciar session sin una contraseña. Sin embargo, el file no se copy al server remoto.

Gracias

Git no funciona de esa manera en el lado del server. Los files están altamente comprimidos y agrupados en fragments para que no pueda encontrar un file en particular.

Para probar su server de git, cree otro clon en otro directory y vea si app.py está allí.

 git clone [email protected]:~/dev dev2 

Si desea presionar al repository y hacer que los files se actualicen , puede crear un gancho git del lado del server para verificar los files después de que se hayan enviado. En el lado del server , el directory git /hooks/ crea un file llamado post-receive y agrega el siguiente código:

 #!/bin/sh git --work-tree=/var/www/domain.com --git-dir=/var/repo/site.git checkout -f 

A continuación, otorgue al file los permissions adecuados usando chmod +x post-receive

Nota: el código anterior asume que su directory git y los files implementados están en directorys diferentes. Actualice el file según cómo quiera que se configuren las cosas.

Más información y una explicación detallada aquí: https://www.digitalocean.com/community/tutorials/how-to-set-up-automatic-deployment-with-git-with-a-vps