Linux Kamarada

Gerencie seus arquivos de configuração no Linux com o Git

Os arquivos comumente chamados de dotfiles (“arquivos ponto”, em uma tradução literal) são todos aqueles pequenos arquivos de texto puro que contém as configurações dos seus programas. A maioria deles está em sua pasta pessoal ($HOME), mas são arquivos ocultos, uma vez que seus nomes começam com um ponto (daí serem chamados de dotfiles). Alguns aplicativos os armazenam na pasta $HOME/.config.

Para gerenciá-los (acompanhar suas alterações, movê-los entre diferentes computadores, fazer backup deles), existem algumas soluções:

  • o bom e velho pendrive
  • rsync
  • sincronizá-los na “nuvem”
  • movê-los para uma pasta central e criar links simbólicos para onde eles deveriam estar

Neste artigo, vamos focar em como gerenciá-los de forma simples e eficiente com o Git.

Git ao resgate!

Neste exemplo, vamos usar a pasta $HOME/dotfiles como repositório do Git, mas fique a vontade para usar outra pasta, de acordo com a sua necessidade.

Primeiramente, vamos inicializar este repositório:

1
$ git init --bare $HOME/dotfiles

Depois, como todos os comandos git que usaremos se referirão a este repositório, é recomendável criar um alias, como:

1
alias dotfiles='/usr/bin/git --git-dir=$HOME/dotfiles --work-tree=$HOME'

Você pode adicionar essa linha ao arquivo de configuração do seu $SHELL ($HOME/.bashrc, se você usa Bash, ou $HOME/.zshrc, se você usa Zsh).

Em seguida, vamos configurar o Git para que ele não mostre todos os arquivos não rastreados (untracked files). Precisamos fazer isso porque vamos usar toda a pasta pessoal como pasta de trabalho (work tree).

1
$ dotfiles config --local status.showUntrackedFiles no

A essa altura, você já deve ser capaz de verificar o estado do repositório:

1
$ dotfiles status

Você pode adicionar seus arquivos de configuração e comitar como desejar. Por exemplo, vamos adicionar nosso .bashrc:

1
2
$ dotfiles add .bashrc
$ dotfiles commit -m ".bashrc adicionado"

Agora basta adicionar um repositório remoto — um servidor Git hospedado por você mesmo (self-hosted) ou um online — e enviar suas mudanças para ele:

1
2
$ dotfiles remote add origin git@seugit.exemplo.com/dotfiles.git
$ dotfiles push

Configurando um novo computador

Agora que você já configurou tudo no primeiro computador, vamos configurar um novo computador com os dotfiles que você tem no seu repositório.

Primeiro, faça um clone local do seu repositório online:

1
$ git clone --bare git@seugit.exemplo.com/dotfiles.git $HOME/dotfiles

Novamente, você deve definir o mesmo alias de antes:

1
alias dotfiles='/usr/bin/git --git-dir=$HOME/dotfiles --work-tree=$HOME'

Lembre-se de adicioná-lo ao arquivo de configuração do seu $SHELL.

Agora basta aplicar as alterações do repositório que você acabou de clonar ao seu sistema:

1
$ dotfiles checkout

Se alguns dos arquivos já existirem, você receberá uma mensagem de erro. Provavelmente isso ocorrerá com os arquivos criados por padrão durante a instalação do openSUSE e a criação da sua conta do usuário, como o arquivo $HOME/.bashrc. Não se preocupe, apenas renomeie ou exclua os arquivos que já existiam.

Agora, sempre que você alterar seus arquivos de configuração rastreados pelo Git, lembre-se de comitar e enviar suas alterações.

Referências

Os artigos a seguir foram usados como referências deste artigo. Muito obrigado aos seus autores!

Me paga um café?
Se você gostou muito, se foi muito útil pra você, será que vale um café? Se quiser, você pode "me pagar um café" pelo PayPal ou contribuir com o projeto de outras formas.

Comentários

Sobre

O Projeto Linux Kamarada visa divulgar e promover o Linux como um sistema operacional robusto, seguro, versátil e fácil de usar, adequado para o uso diário seja em casa, no trabalho ou no servidor. Os focos do projeto são principalmente distribuição e documentação.

Anúncios

Facebook

Autor