Armazenando seus dotfiles com o git bare

 

Como armazenar seus dotfiles com o git bare

Cenário:

Seus arquivos de configurações da pasta .config, da raiz, etc…, não precisaram ser criados SYMLINKS dos mesmos (Como se é utilizado com o comando stow). Ao se modificar esses arquivos, os mesmos estarão aptos para serem enviados para a nuvem através do git.

Iniciando

git init --bare $HOME/.dotfiles

Será criada uma pasta .dotfiles, um repositório git bare (vazio) que será usado para acompanhar os arquivos dotfiles)

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

cria um alias chamado config que permite enviar comandos git para o repositório .dotfiles de qualquer local, mesmo fora do repositório.

echo "alias config='/usr/bin/git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME'" >> $HOME/.zsh/aliases

ou, para quem usa o .bashrc:

echo "alias config='/usr/bin/git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME'" >> $HOME/.bashrc

Adicionando de forma permanente o alias no zsh ou bash.

config config --local status.showUntrackedFiles no

Utilizando o alias config, vamos configurar para o git não mostre o status dos arquivos que não estão sendo acompanhados.

Adicionando os arquivos

config add ~/.bashrc
config commit -m "Adicionando o arquivo .bashrc"

Desta forma, será adicionado o arquivo .bashrc ao repositório com o comentário acima citado

Enviando os arquivos

config remote add origin <remote-url>
config push -u origin master

Em <remote-url>, adicione o link do gitlab ou github. Por exemplo: https://gitlab.com/seu-usuario/repositorio

Agora, toda vez que você fizer uma alteração no .bashrc, basta rodar um ‘config status’ que ele irá mostrar que o arquivo está pronto para ser atualizado no repositório remoto.

Vai adicionando outros arquivos, repetindo o processo na etapa Adicionando arquivos

Até a próxima!

Fonte: https://www.atlassian.com/git/tutorials/dotfiles