Eu usei CVS , Subversion , git e alguns pacotes comerciais. Acabei de migrar meu VCS pessoal do CVS para o git (achei que seria mais difícil do que realmente era, eu deveria ter feito isso há muito tempo).
Eu recomendaria git. Baseado no que você está procurando.
OEu sou um noob sem muita experiência em sistemas de controle de versão
git pode ter uma curva de aprendizado mais longa, especialmente se você tiver experiência com um VCS anterior. Sem ter sido exposto a um VCS anterior, sua curva de aprendizado pode ser mais curta.
A melhor maneira de aprender git é baixar o livro Pro Git de Scott Chacon (de graça), criar um repositório de teste ( mkdir <project name>; cd <project name>; git init
), e cortar isso. Não há realmente nenhum esforço para criar um repositório e não se preocupe em enroscar algo em um repositório de teste, já que cada repositório é independente. Um repositório pode ser facilmente removido ( cd <project name>; rm -rf .git
).
Vários arquivos serão arquivos de texto simples, mas haverá alguns arquivos do Libre-Office
Não há diferenciação com o git nos tipos de arquivo (ASCII vs binário), no entanto, os arquivos ASCII são ideais para ver os diffs e os conflitos de mesclagem.
OSeja fácil de configurar, executar e manter
git pode ser configurado de várias maneiras, tudo depende das suas necessidades. Para começar, um show, basta você instalar o git ( sudo apt-get install --install-recommends git-core
) e criar um repositório (mostrado acima). Se você trabalha em várias máquinas, você pode configurar o git sobre o ssh (está no livro). Melhor ainda, conforme suas necessidades se expandem, você não perde o que já fez.
É fácil entender as opções de configuração (quais diretórios devem ser rastreados, por quanto tempo, com que frequência as alterações devem ser capturadas, etc.)
Você pode ter um grande repositório ou dividi-los em projetos individuais ou em arquivos únicos. Novamente crie um repositório git e brinque com ele, veja o que funciona e o que não funciona.
O ideal é ter uma interface gráfica também
Existem muitos git guis especializados em muitas tarefas diferentes. No entanto, o aprendizado do git na linha de comando é altamente recomendado. Para começar, você só precisa aprender alguns comandos ( git init
, git status
git diff
, git add
, git rm
, git commit
, git push
, git pull
). Além disso, a linha de comando ajuda você com tarefas que você precisa fazer. Por exemplo: git status
# On branch master
# Your branch is ahead of 'origin/master' by 2 commits.
#
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: systems/ion/setup.txt
# modified: systems/dogstar/teardown.txt
# modified: applications/help.html
# modified: applications/readme.txt
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# applications/faq.html
no changes added to commit (use "git add" and/or "git commit -a")
Se você estiver mais confortável com uma GUI, SmartGit é amigável para novatos.
Ser capaz de recuperar arquivos excluídos
Sim, o git pode recuperar qualquer versão de qualquer arquivo, desde que tenha sido confirmado.
Qual é a melhor / mais usada ferramenta que será adequada para mim?
git é amplamente utilizado. Quanto ao melhor, é um dos melhores, se não o melhor. Mas sendo o melhor, é mais uma opinião pessoal e também é baseada na situação.