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:
-
cd
para 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 commit
ou 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.