Não tenho muita certeza do modo como a pergunta foi feita, mas parece-me que você pode estar tendo problemas para migrar de um sistema de controle de versão não distribuído (svn, csv etc.) para um sistema distribuído como git.
Como se vê, você obtém a funcionalidade que deseja gratuitamente no Git! Simplesmente clone seu git repo no computador que você quer trabalhar ( git clone <remote-repo>
), trabalhe normalmente (código, git add, git commit, enxague e repita), e então empurre de volta para o repositório remoto quando terminar e tenha uma conexão de internet ativa ( git push origin master
ou qualquer que seja o nome do seu remote / branch se você não tiver os padrões). O Git faz o download de uma cópia completa do repositório, incluindo todo o histórico, por padrão; então não ter uma conexão com a internet não deveria importar. Você pode continuar trabalhando e se sincronizando com sua máquina remota quando a internet voltar.
Se você está procurando uma maneira de empurrar automaticamente toda vez que um commit é feito, confira git hooks . O post commit hook é provavelmente o que você quer. Basta navegar até o diretório .git/hooks
dentro do seu git repo e renomear o arquivo post-commit.sample
para post-commit
, ou criá-lo e certificar-se de que ele é executável ( chmod +x post-commit
) se ele não existir. Agora qualquer coisa que você colocar nesse script será executada logo após você fazer um commit, por exemplo, você parece querer:
#!/bin/sh
git push origin master
Você também pode usar o gancho post-receive
na máquina remota para fazer algo toda vez que receber um envio do repositório local.
EDIT: Em um comentário você afirmou que "empurrar manualmente não funcionará"; No entanto, o git suporta o push via SSH, que é provavelmente como você está gerenciando seu servidor de qualquer maneira. Caso contrário, também pode enviar por FTP ( shudder ) e outros protocolos, incluindo HTTP [S], se você configurar o servidor corretamente. Você provavelmente deve procurar usar o git desta forma, pois é assim que foi projetado para ser usado.