Você pode usar o software SCM (também conhecido como controle de versão), como git , mercurial ou fossil .
Desta forma, você evitará uma enorme quantidade de bak arquivos no diretório de trabalho e manterá o controle de todas as versões anteriores ao mesmo tempo.
IMHO mais simples seria fossil-scm É estaticamente cumprido um único arquivo que pode lidar com tais trabalhos. (Aliás criado pelo mesmo programador que criou o SQLite, então espere qualidade)
Seu fluxo de trabalho pode ser assim:
-
cdpara o diretório onde os arquivos precisam ser rastreados e o repositório init com o comandofossil init(irá preparar um único arquivo de banco de dados) - Diga ao fóssil para rastrear um diretório específico:
fossil open - Adicione arquivos / diretórios de forma recursiva ao repositório
fossil addremove --dotfiles - Salvar o status atual do diretório para o repositório:
fossil commitou se você se importa com a integridade dos arquivos, em seguida:fossil commit --sha1sum
Todas as chamadas subseqüentes de fossil são apenas fossil commit (se você precisar adicionar mais arquivos novos ou remover alguns do acompanhamento, basta emiti-los antes de confirmar fossil addremove --dotfiles )
Dessa forma, todas as alterações nos arquivos serão mantidas na linha do tempo e poderão ser visualizadas ou comparadas (diff) ou extraídas (checkout), do repository ether arquivo por arquivo ou restaurar completamente o estado anterior de todo o diretório.
Você pode usar fossil extras --dotfiles para revelar novos arquivos não rastreados ou localizar apenas arquivos que foram alterados fossil changes --abs-paths --sha1sum --header -v
Se você precisar excluir alguns arquivos ou diretórios, o suporte fóssil também.
Você pode ver a linha do tempo das alterações em uma interface da web agradável produzida pelo mesmo arquivo único ou até mesmo usar o WiKi interno para fazer uma boa anotação nas alterações.
Se você precisar remover algum conteúdo do repositório, fossil fornecerá um mecanismo chamado "shunning" para fazer isso.