Forçar Git Pull para sobrescrever arquivos locais
Git é um pouco difícil para os novos usuários se uma das primeiras tarefas para você fazer algum tipo de pull do repositório remoto Git, então vamos descobrir abordagens viáveis de ter Git sobrescrever alguns arquivos locais.
Sem dúvida, o Git é uma ferramenta muito eficaz para gerenciar o trabalho de uma equipe. Você precisa reconhecer alguns princípios importantes para terminar de forma inteligente com o Git. O bom é que, quando você os aprende corretamente, raramente se depara com problemas dos quais não consegue escapar.
Usamos o repositório local, um repositório remoto com um ou vários ramos em um fluxo de trabalho Git normal. Os repositórios mantêm todos os registros referentes ao projeto, inclusive de toda a sua história e de todas as ramificações. Uma ramificação é um grupo de mudanças que vão de um projeto vazio ao estado atual.
Quando você está trabalhando em um arquivo local e introduz novas alterações, precisa enviar as alterações locais para o repositório remoto e, até que as alterações locais sejam enviadas para os repositórios remotos, todo trabalho estará disponível em sua máquina. O problema começa quando uma equipe está trabalhando na mesma coisa e deseja fazer alterações no mesmo local.
O pull
é baseado em múltiplas operações, consistindo em buscar dados do branch remoto e então mesclar suas mudanças no repositório local. As operações mencionadas acima podem ser realizadas manualmente usando os seguintes comandos.
git fetch
git merge origin/$CURRENT_BRANCH
Aqui, temos duas opções principais ao trabalhar nos repositórios Git.
Manter mudanças locais
Nesse caso, quando suas alterações não confirmadas são importantes para você, há duas maneiras de realizá-las:
Primeiramente, você pode submetê-los e então aplicar git pull
.
Em segundo lugar, você pode escondê-los. Precisamente, o stashing pode ser explicado como que fazemos um commit, mas não é visível naquele momento em seu branch atual, mas podemos acessá-lo pelo Git. Para trazer de volta as alterações salvas (que usamos stash
), usaremos o comando git stash pop
. Este comando irá remover o stash commit após colocar as alterações escondidas, pois não precisamos mais dele.
git fetch (it will fetch the folder for the local machine)
git stash (it will stash the local changes)
git merge origin/$CURRENT_BRANCH (merge the changes from the local folder to workspace folder)
git stash pop (it will do all stash to latest)
Forçar Git Pull para sobrescrever arquivos locais
Nessa situação, você deseja liberar todas as alterações locais não confirmadas. Às vezes, você modifica um arquivo apenas para um experimento, mas depois disso, você percebe que não deseja essa alteração. Então, tudo que você quer é atualizá-lo para o upstream.
Isso adicionará mais uma etapa nesta operação entre buscar e mesclar. Conseqüentemente, ele irá redefinir o branch para seu estado original, permitindo assim que git merge
funcione.
git fetch (fetch the local machine folder)
git reset --hard HEAD (it will remove the local changes)
git merge origin/$CURRENT_BRANCH (merge the changes from the local folder to workspace folder)
Abdul is a software engineer with an architect background and a passion for full-stack web development with eight years of professional experience in analysis, design, development, implementation, performance tuning, and implementation of business applications.
LinkedIn