Pular para o conteúdo
Início » Git » Git dica rápida: git checkout de arquivos específicos de outra branch

Git dica rápida: git checkout de arquivos específicos de outra branch

O comando git checkout pode ser usado para atualizar arquivos ou diretórios específicos em sua árvore de trabalho com os de outra ramificação (branch), sem que seja necessário mesclar a ramificação inteira.

Isso pode ser útil ao trabalhar com várias ramificações de recursos (feature brachs) ou usar o GitHub Pages para gerar um site de projeto estático.

A página do manual git-checkout descreve como o comando git checkout não é útil apenas para alternar entre branches.

Quando <paths> ou --patch são fornecidos, o git checkout não muda de branch. Ele atualiza os caminhos nomeados na árvore de trabalho a partir do arquivo de índice ou de um chamado <tree-ish> (geralmente um commit)…O argumento <tree-ish> pode ser usado para especificar um tree-ish específico (ou seja, commit, tag ou árvore) para atualizar o índice para os caminhos fornecidos antes de atualizar a árvore de trabalho.

No git, um tree-ish é uma maneira de se referir a um determinado commit ou árvore. Isso pode ser um sha parcial ou os ponteiros de nome de ramificação, remoto e tag.

A sintaxe para usar o git checkout para atualizar a árvore de trabalho com arquivos de uma tree-ish é a seguinte:

git checkout [-p|--patch] [<tree-ish>] [--] <pathspec> ...

Portanto, para atualizar a árvore de trabalho com arquivos ou diretórios de outra branch, você pode usar o ponteiro do nome da branch no comando git checkout.

git checkout <branch_name> -- <paths>

Por exemplo, você poderia atualizar um script em uma branch de um novo recurso sendo desenvolvido, “puxando” o arquivo específico da branch main.

# On branch main
git checkout new-branch
# On new-branch
git checkout main -- my_script.js
git commit -m "Update my_script.js from main"

É interessante ler a página do manual do git-checkout para conhecer as demais possibilidades que o comando trás, e entender sua versatilidade para lidar com questões pontuais no seu fluxo de versionamento e gestão do código fonte dos projetos de desenvolvimento de software.

Deixe um comentário

O seu endereço de e-mail não será publicado.

pt_BRPortuguese
%d blogueiros gostam disto: