Como posso sincronizar de forma confiável arquivos de origem local com um controle remoto?

1

Estou desenvolvendo localmente em um mac executando MAMP e BBEdit. Atualmente estou usando o Transmit para sincronizar arquivos por (S) FTP. Eu gosto do software e ele tem um recurso de "sincronização" para comparar arquivos locais ao remoto, seja pelo tamanho do arquivo ou pela data de modificação, mas descobri que esse recurso não é confiável em nenhuma das configurações. Meu palpite é que é o resultado de:

  1. OSX Leão listando o tamanho do arquivo como KB e o servidor linux usando o KiB (mais sobre isso aqui )
  2. Estou usando o git para controle de versão e acho que as datas de modificação sair de sincronia quando eu alternar entre os ramos.
O ponto principal é que o Transmit parece ser uma ferramenta perfeita para projetos menores com menos desenvolvedores, mas para o projeto no qual estou trabalhando atualmente (com vários ramos de trabalho, commits freqüentes e a necessidade de sincronização precisa e sistemática de arquivos ) não parece até o trabalho.

Eu também usei o confiável Filezilla, que não parece ter os mesmos problemas de confiabilidade, mas também não tem nenhum recurso de "sincronização" real. Ele mostrará as diferenças, mas você precisa navegar pelos diretórios manualmente e encontrá-los todos (como uma caça aos ovos de Páscoa). Isso não é prático para mim porque as mudanças geralmente envolvem muitos arquivos em diretórios diferentes.

Minha pergunta: qual é o jeito certo de fazer isso?

Vi aqui que o BBEdit tem um navegador FTP e uma ferramenta de linha de comando similar a diff, mas não encontrei nenhuma documentação sobre como usá-lo com arquivos remotos.

    
por emersonthis 05.01.2013 / 23:21

2 respostas

1

O que você está procurando é o "rsync", do meu ponto de vista. A melhor maneira de começar é a página do homem: link

Tecnicamente, não há fluxo de trabalho fixo de como usar a ferramenta. Existem vários padrões além da imaginação da maioria das pessoas. Como exemplo, você pode fazê-lo se comportar como a máquina do tempo da OSX: link Você basicamente tem que especificar seu fluxo de trabalho e encontrar o conjunto apropriado de opções / opções para fazer o rsync, o que você preferir.

Na verdade, você pode encontrar vários front-ends gráficos, caso não goste de usar a linha de comando. Um bom exemplo é este: link

    
por 06.01.2013 / 00:28
1

Use o rsync. Se você achar a documentação impenetrável, tente o grsync do wrapper GUI. O rsync é feito especificamente para sincronização. Tem muitas opções que quase certamente irão cobrir as suas necessidades e, tanto quanto eu posso dizer praticamente todos eles são acessíveis através do grsync. É também uma ferramenta bastante interessante para fazer qualquer tipo de cópia de arquivo remoto envolvendo uma árvore de diretórios, esteja você sincronizando ou não - mais rápido que scp ou mesmo ftp, parecido com o tar | ssh mas menos complicado.

    
por 06.01.2013 / 00:21