Skip to main content

Git checkout de branch remota: como funciona e quando usar

Escrito por
blog feature snyk container custom base recommendations

15 de dezembro de 2020

0 minutos de leitura

O Git é uma ferramenta excelente que muitos desenvolvedores usam para controlar as versões de seus projetos. Embora existam vários outros sistemas de controle de versão — como Subversion (SVN) e Concurrent Versioning System (CVS) —, o Git é, de longe, o mais usado. Um dos motivos é o foco no desenvolvimento distribuído e a facilidade de trabalhar com branches. Vamos entender as branches no Git e o que significa, na prática, git checkout remote branch.

O que é uma branch?

Uma branch é uma forma simples de criar uma linha de desenvolvimento separada da principal. Ela costuma ser usada para desenvolver um novo recurso ou corrigir um bug. Assim, você isola as alterações e mantém sua branch principal ou master organizada. As branches no Git são muito úteis porque são fáceis e relativamente baratas de criar. Diferentemente de outros sistemas de controle de versão, no Git uma branch não é uma cópia do seu código, mas apenas um ponteiro para o nó original de onde ela surgiu.

Diagrama de uma ramificação Main verde com quatro commits e uma ramificação Branch azul que diverge a partir do primeiro commit

Como faço checkout de uma branch?

Se você já tem uma branch na sua máquina local, basta fazer checkout ou mudar para ela usando o comando git checkout <branch name>.

Por exemplo, para criar uma nova branch chamada “dev” a partir da branch principal, use git branch dev — esse comando apenas cria a branch. Para trabalhar nela e fazer commits, você também precisa fazer checkout da branch, como antes, usando git checkout dev.

Observação: ao fazer checkout de uma branch na sua máquina local, todos os commits serão feitos nela, e não na branch principal. Sabendo disso, você também pode criar uma branch a partir de outra, recursivamente. Pode parecer estranho, mas imagine que você está desenvolvendo um novo recurso em uma branch e quer fazer alguns testes. Faz todo sentido criar uma branch em um nível separado, originada da sua branch de recurso.

Como faço checkout de uma branch remota?

Uma branch remota é a melhor forma de compartilhar seu trabalho de desenvolvimento com outras pessoas da equipe. Vale lembrar que git checkout remote branch não é um comando que exista de fato. Para fazer checkout de uma branch remota publicada por outra pessoa, primeiro use git fetch. Esse comando baixa as referências do repositório remoto para sua máquina local, incluindo a referência à branch remota. Depois, basta usar git checkout <remote branch name>.

Como crio uma branch local a partir de uma branch remota?

Depois de executar fetch, você pode fazer checkout da branch remota, como explicado antes. Isso cria uma cópia local da branch na sua máquina. Se quiser fazer checkout de uma branch remota usando outro nome na sua máquina local, execute:

git checkout -b myLocalName origin/remoteName

Sua branch local, myLocalName, ficará vinculada à branch remota remoteName. Observe que origin é a referência padrão ao repositório remoto original do qual o projeto foi clonado. Essa referência pode ser diferente, por exemplo, quando você trabalha com vários repositórios remotos.

Como faço uma análise de vulnerabilidades em uma branch local?

Sempre que fizer checkout de uma branch remota na sua máquina local, você poderá analisá-la localmente com a Snyk CLI. Depois de criar uma conta gratuita e instalar a ferramenta de linha de comando, acesse o diretório raiz da branch e execute os seguintes comandos

  • snyk test para verificar dependências de código aberto

  • snyk code test para analisar estaticamente seu código-fonte em busca de vulnerabilidades

  • snyk container test para analisar seus contêineres em busca de problemas de segurança

  • snyk iac test para garantir que sua infraestrutura como código não tenha vulnerabilidades

Consulte nosso prático guia de referência e a documentação para saber mais.

Como transformo minha branch local em uma branch remota?

Se você está em uma branch local myNewFeature e quer compartilhá-la remotamente, precisa definir o upstream para que ela se torne uma branch remota.

Para enviar minhas alterações, primeiro preciso usar -u ou --set-upstream, assim:

git push -u origin myNewFeature

Agora, a branch local também tem uma correspondente remota. Na próxima vez que quiser enviar alterações, basta usar git push, sem parâmetros.

Como posso manter minha branch padrão livre de vulnerabilidades de segurança?

A Snyk oferece integrações nativas para todos os seus projetos no GitHub, Bitbucket, GitLab e Azure Repos. Ao conectar seu repositório, você pode usar ferramentas como Snyk Open Source, Snyk Code, Snyk IaC e Snyk Container diretamente na sua branch padrão. A integração com o Git cria pull requests com correções automáticas e analisa os PRs recebidos antes do merge — permitindo que você incorpore segurança ao seu repositório com facilidade e evite disponibilizar código vulnerável.

Comece a jogar Capture the Flag

Aprenda a resolver desafios de Capture the Flag assistindo à gravação sob demanda do nosso workshop virtual introdutório.

Leia mais

Blog

Modelos de ponta encontraram as vulnerabilidades. Só o atacante encontrou as cadeias.

A análise estática encontrou as falhas, mas só os testes de ataque em aplicações ativas provaram como elas poderiam ser encadeadas para causar invasões. Uma comparação entre Evo COS, Claude Security e Claude Code Security.

feature insights context
Blog

Os ataques autônomos já chegaram. A defesa precisa acompanhar o ritmo.

Os atacantes autônomos estão reduzindo o tempo disponível para a defesa. Saiba como a descoberta, a correção, a validação e a prevenção contínuas ajudam as equipes de segurança a acompanhar esse ritmo.

Blog

Por que agentes de programação com IA continuam criando falhas de controle de acesso

Agentes de programação com IA podem gerar uma lógica de autorização que compila e passa pela revisão, mas permite que um tenant acesse os dados de outro. Saiba por que é difícil detectar falhas de controle de acesso e como evitá-las.