Blogs

INÍCIO / Blogs / Como resolver conflitos de mesclagem no Git

Tabela de conteúdo
O Automatizado, Nenhum código Pilha de dados

Saiba como Astera O Data Stack pode simplificar e agilizar o gerenciamento de dados da sua empresa.

Como resolver conflitos de mesclagem no Git

26 de fevereiro de 2024

A capacidade de ter vários membros da equipe contribuindo para um projeto e conduzi-lo até a conclusão no tempo é inestimável para o sucesso de um produto, especialmente quando ele recebe atualizações e aprimoramentos regulares de recursos com base no feedback do cliente. As equipes alcançam facilmente essa contribuição simultânea por meio de sistemas de controle de versão distribuída (DVCS), como Git.

O fato de o Git operar em um ambiente distribuído repositório modelo significa que o código-fonte e todo o seu histórico de versões estão disponíveis para todos os desenvolvedores, permitindo-lhes reverter e “voltar no tempo”. Os membros da equipe que trabalham no mesmo projeto podem trabalhar em filiais diferentes, que posteriormente serão mescladas.

Mas o que acontece quando dois desenvolvedores trabalhando no mesmo arquivo fazem alterações, confirmam e enviam essas alterações? Ou se esses desenvolvedores trabalharem em diferentes branches do mesmo repositório e um decidir mesclar os branches? A resposta é simples: ambos os cenários causarão um conflito de mesclagem.

Neste blog, aprenderemos como resolver problemas de mesclagem conflitos no Git de dentro Asteraplataforma de dados. Mas antes disso, vamos ver rapidamente o que são conflitos e por que eles ocorrem.

O que são conflitos de mesclagem no Git?

Em circunstâncias normais, ou seja, quando os commits estão em duas linhas de código ou ramificações diferentes, o Git resolve as diferenças automaticamente. No entanto, quando as diferenças estão nas mesmas linhas de código, o Git requer intervenção humana para resolver essas diferenças. Essa instância, em que não consegue resolver as diferenças por conta própria, é chamada de conflito de mesclagem ou, simplesmente, de conflito.

A imagem a seguir ilustra como um conflito pode ocorrer:

Como resolver o conflito de mesclagem no git

Mesclar conflito

Digamos que haja dois desenvolvedores, A e B, trabalhando na mesma ramificação. Ambos os desenvolvedores extraem o mesmo arquivo do repositório remoto e fazer alterações nele. O desenvolvedor B conclui sua tarefa mais cedo e envia o arquivo de volta ao servidor. Até agora tudo bem.

Da mesma forma, o desenvolvedor A conclui seu trabalho e continua a empurrá-lo. No entanto, ela enfrenta um conflito ao tentar enviar o arquivo. Este conflito ocorre porque o mesmo arquivo já foi substituído no repositório remoto por uma versão atualizada do desenvolvedor B.

O mesmo teria acontecido se ambos os desenvolvedores, trabalhando em ramos diferentes, tivessem feito alterações no mesmo arquivo e um deles tentasse mesclar seu ramo com o ramo do outro desenvolvedor. Ainda outro conflito ocorrerá quando um dos desenvolvedores edita um arquivo e o outro o exclui.

O desenvolvedor que executa a operação de mesclagem é afetado pelo conflito de mesclagem; outros membros da equipe permanecerão inconscientes, a menos que sejam explicitamente informados disso. Portanto, é responsabilidade do desenvolvedor resolver o conflito e concluir o processo de mesclagem.

Como resolver conflitos de mesclagem no Git?

O método mais comum para resolver um conflito de mesclagem é abrir o arquivo e fazer manualmente as alterações necessárias. Por exemplo, digamos que haja um arquivo de texto chamado “conflict.txt” que foi alterado recentemente e precisa ser enviado para o repositório remoto. No entanto, o arquivo não passa porque um conflito faz com que o processo de mesclagem pare.

Nesse caso, você terá que usar as ferramentas de linha de comando do Git para resolver o conflito. Você provavelmente passará pelas seguintes etapas ao fazer isso:

  • Abra o arquivo em seu editor de texto preferido
  • Identifique as mudanças que estão causando o conflito e faça as mudanças necessárias
  • Use “git add conflict.txt” para preparar o arquivo
  • Use “git commit -m 'sua mensagem de confirmação aqui'” para cometer

Outros comandos do Git que ajudam a resolver conflitos de mesclagem incluem:

  • redefinir
  • git diferença
  • git push
  • git merge -abort
  • git reset – misturado
  • git check-out
  • status git
  • git rebase – continue

Resolvendo conflitos de mesclagem no Git de dentro Asterainterface do usuário

AsteraIntegração do Git oferece uma solução de controle de versão nativa que permite que você lide com todos os seus gestão de dados projetos com facilidade. Com AsteraNa implementação do Git do Git, um conflito pode ocorrer quando duas ramificações têm um arquivo com o mesmo nome e uma das ramificações é mesclada na outra.

Da mesma forma, você enfrentará um conflito quando houver diferenças nos arquivos com os mesmos nomes em seu repositório local e no servidor remoto.

Vamos dar um exemplo para entender como você pode enfrentar um conflito e o que você precisa fazer para resolvê-lo usando o Git através do Astera Plataforma de Dados. Digamos que temos duas ramificações locais: Branch01 e Branch02.

Como resolver conflitos de merge: Git Branches

Navegador Git Branches em Astera

Cada branch tem pipelines de dados diferentes, mas os arquivos nos quais eles são salvos contêm o mesmo nome, “GitDataflow01”. Veja as imagens abaixo:

Imagem mostrando o conteúdo de Branch01 junto com os comandos do Git em Asterainterface do usuário

Git Branches – Fluxo de dados em Branch01 salvo no arquivo “GitDataflow01”

Imagem mostrando o conteúdo de Branch02 junto com os comandos do Git em Asterainterface do usuário

Git Branches – Fluxo de dados em Branch02 salvo no arquivo “GitDataflow01”

Se tentarmos mesclar Branch01 com o branch atual (Branch02 neste caso), obteremos um erro devido ao conflito, e o arquivo em conflito aparecerá em um novo nó chamado Conflicted na janela Git Changes. Então agora temos um conflito e, antes de prosseguir, teremos que resolvê-lo.

Vamos ver como podemos fazer isso de dentro Asterainterface do usuário. Tenha em mente, porém, que neste momento, temos três opções:

  • Abortar processo de mesclagem
  • Visualize os arquivos em cada ramificação ou
  • Prossiga com a resolução sem visualizar (caso tenha certeza de qual versão deseja manter)

Para resolver este conflito, clique com o botão direito do mouse no arquivo, GitDataflow01 neste caso, e expanda o Resolver opção para escolher Mantenha-se atualizado (local) or Take Incoming (Remoto). Como os nomes sugerem, selecionar a primeira opção manterá apenas a versão do arquivo da ramificação atual (Branch02), enquanto escolher a última opção manterá apenas a versão da ramificação que está sendo mesclada (Branch01).

Como resolver conflitos de mesclagem no git

Resolvendo conflitos de mesclagem no Git dentro Asterainterface do usuário

Em seguida, vamos confirmar e fornecer um resumo para concluir o processo de mesclagem.

AsteraA integração Git do permite que você execute a maioria das operações Git, como push, pull, merge, fetch, commit, etc., sem escrever códigos. Você também tem a opção de usar a interface de linha de comando se estiver familiarizado com ela. Ele não apenas mantém o gerenciamento de controle de versão simples, mas também acelera todo o processo.

Com o AsteraCom a integração do Git, você obtém o melhor dos dois mundos para simplificar seus projetos de gerenciamento de dados: Asteraestá unificado, plataforma de gerenciamento de dados sem código e os recursos de controle de versão super rápidos do Git. Agora que você sabe como resolver conflitos de mesclagem no Git, dê o próximo passo e experimente você mesmo! Inscreva-se para um 14-day free trial or agendar uma demonstração hoje!

Você pode gostar
As 7 principais ferramentas de agregação de dados em 2024
Estrutura de governança de dados: o que é? Importância, Pilares e Melhores Práticas
As melhores ferramentas de ingestão de dados em 2024
Considerando Astera Para suas necessidades de gerenciamento de dados?

Estabeleça conectividade sem código com seus aplicativos corporativos, bancos de dados e aplicativos em nuvem para integrar todos os seus dados.

Vamos nos conectar agora!
vamos conectar