Problema
Eu mantenho uma bifurcação de meus dotfiles pessoais para meu ambiente de trabalho. O repositório dotfiles pessoal muda com bastante frequência e eu quero manter os dotfiles de trabalho atualizados com o upstream.
Solução
Os arquivos de ponto de trabalho são mantidos em seu próprio repositório, e o repositório de arquivos de ponto pessoal é um remoto e verificado como um branch.
Baseando-se na dica Git de Jason Rudolph : como “mesclar” arquivos específicos de outro ramo Eu escolhi apenas mesclar arquivos e não selecionar as alterações.
Como o repositório de trabalho tem alguns arquivos, o repositório pessoal não (normalmente) quero apenas mesclar os arquivos alterados e adicionados
git checkout upstream $(git diff --name-status master..upstream | grep ^[MA] | awk '{ print $2 }' | tr 'n' ' ')
Uma verificação final de que nenhuma configuração relacionada ao trabalho foi perdida
git diff --cached