Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Sincronizando os Repositórios | Fluxos de Trabalho Mais Avançados
Fundamentos do GitHub
course content

Conteúdo do Curso

Fundamentos do GitHub

Fundamentos do GitHub

1. Introdução ao GitHub
2. Interação Básica com Repositórios Remotos
3. Fluxos de Trabalho Mais Avançados

book
Sincronizando os Repositórios

Como mencionado no capítulo anterior, é necessário sincronizar o branch local com o repositório remoto. Para isso, deve-se executar o comando git pull:

Ao executar o comando git pull, o Git buscou atualizações, mas percebeu que os branches local e remoto divergiram, ou seja, existem alterações em ambos os branches que precisam ser conciliadas. O Git não pôde prosseguir porque precisa saber como lidar com essas diferenças, portanto, defina a opção merge e execute novamente o comando git pull:

Note
Nota

A operação rebase será abordada posteriormente neste curso.

O Git tentou mesclar automaticamente as alterações locais e remotas no README.md, mas encontrou um conflito de mesclagem. Vamos analisar a árvore de commits, que indica onde ocorreram divergências e conflitos:

Resolução do Conflito

Como pode ser observado, nosso commit local atual e o commit no branch remoto main compartilham um ancestral comum, mas divergem, resultando no conflito de mesclagem que precisamos resolver. Para isso, abriremos o arquivo README.md no editor Vim:

Para resolver esse conflito, é possível entrar no modo de inserção pressionando i, remover os marcadores de conflito e combinar essas alterações da seguinte forma:

Em seguida, pressione a tecla Escape, digite :wq e pressione a tecla Enter para salvar as alterações e sair do Vim. Agora, para finalizar o merge, o arquivo README.md deve ser adicionado à área de stage e então comitado utilizando os respectivos comandos:

Note
Nota

Após executar o comando git commit, o editor de texto padrão será aberto (provavelmente, o Vim). Você pode manter a mensagem de commit padrão e sair do Vim da mesma forma que acabamos de fazer, ou pode editar a mensagem e então sair.

Por fim, é possível executar o comando git push com segurança e verificar se o merge de três vias foi bem-sucedido exibindo a árvore de commits:

Vamos analisar o que foi feito nestes dois capítulos:

  1. Simulamos colaboração realizando alterações tanto localmente quanto remotamente no arquivo README.md;

  2. Primeiro, registramos uma alteração diretamente no repositório remoto e, em seguida, fizemos uma alteração diferente localmente;

  3. Ao tentar enviar nossas alterações locais, encontramos um conflito porque o repositório remoto tinha novas atualizações;

  4. Para resolver, buscamos as alterações do repositório remoto, o que resultou em um conflito de mesclagem;

  5. Em seguida, resolvemos manualmente o conflito no arquivo README.md usando o editor Vim, registramos as alterações resolvidas e enviamos com sucesso as atualizações finais para o repositório remoto.

question mark

Qual comando configura o Git para usar merge (e não rebase) durante o git pull?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 3. Capítulo 2

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

course content

Conteúdo do Curso

Fundamentos do GitHub

Fundamentos do GitHub

1. Introdução ao GitHub
2. Interação Básica com Repositórios Remotos
3. Fluxos de Trabalho Mais Avançados

book
Sincronizando os Repositórios

Como mencionado no capítulo anterior, é necessário sincronizar o branch local com o repositório remoto. Para isso, deve-se executar o comando git pull:

Ao executar o comando git pull, o Git buscou atualizações, mas percebeu que os branches local e remoto divergiram, ou seja, existem alterações em ambos os branches que precisam ser conciliadas. O Git não pôde prosseguir porque precisa saber como lidar com essas diferenças, portanto, defina a opção merge e execute novamente o comando git pull:

Note
Nota

A operação rebase será abordada posteriormente neste curso.

O Git tentou mesclar automaticamente as alterações locais e remotas no README.md, mas encontrou um conflito de mesclagem. Vamos analisar a árvore de commits, que indica onde ocorreram divergências e conflitos:

Resolução do Conflito

Como pode ser observado, nosso commit local atual e o commit no branch remoto main compartilham um ancestral comum, mas divergem, resultando no conflito de mesclagem que precisamos resolver. Para isso, abriremos o arquivo README.md no editor Vim:

Para resolver esse conflito, é possível entrar no modo de inserção pressionando i, remover os marcadores de conflito e combinar essas alterações da seguinte forma:

Em seguida, pressione a tecla Escape, digite :wq e pressione a tecla Enter para salvar as alterações e sair do Vim. Agora, para finalizar o merge, o arquivo README.md deve ser adicionado à área de stage e então comitado utilizando os respectivos comandos:

Note
Nota

Após executar o comando git commit, o editor de texto padrão será aberto (provavelmente, o Vim). Você pode manter a mensagem de commit padrão e sair do Vim da mesma forma que acabamos de fazer, ou pode editar a mensagem e então sair.

Por fim, é possível executar o comando git push com segurança e verificar se o merge de três vias foi bem-sucedido exibindo a árvore de commits:

Vamos analisar o que foi feito nestes dois capítulos:

  1. Simulamos colaboração realizando alterações tanto localmente quanto remotamente no arquivo README.md;

  2. Primeiro, registramos uma alteração diretamente no repositório remoto e, em seguida, fizemos uma alteração diferente localmente;

  3. Ao tentar enviar nossas alterações locais, encontramos um conflito porque o repositório remoto tinha novas atualizações;

  4. Para resolver, buscamos as alterações do repositório remoto, o que resultou em um conflito de mesclagem;

  5. Em seguida, resolvemos manualmente o conflito no arquivo README.md usando o editor Vim, registramos as alterações resolvidas e enviamos com sucesso as atualizações finais para o repositório remoto.

question mark

Qual comando configura o Git para usar merge (e não rebase) durante o git pull?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 3. Capítulo 2
some-alt