Tutorial Git Avançado

Tutorial Git Avançado

A implantação de seu projeto por meio de um repositório remoto permite que você gerencie cada parte dele de maneira flexível. Correções de bugs, atualizações de recursos, exclusão de arquivos, trabalho em equipe, contribuições de código aberto, implantação de código e muito mais estão agora ao seu alcance com um forte conhecimento de Git.





Então, você está usando o Git, mas quer saber mais? Aqui estão algumas dicas mais avançadas do Git que tornarão o controle de versão do seu projeto uma brisa.





Git Branch

Um branch Git impede que você envie diretamente para o branch master. É útil se você gerencia um projeto com uma equipe de desenvolvedores. Você pode criar quantos branches Git quiser e depois mesclá-los com o branch master.





Criar um Branch Git

Para criar um branch Git, use:

git branch branch_name

Mudar para um Git Branch

Usar Confira para mudar para um branch Git:



git checkout branch_name

Depois de mudar para um branch, você pode preparar suas mudanças usando git add --all . Em seguida, comprometa-os usando o git commit -m 'nome do commit' comando.

Compare uma filial com o mestre

Use o git diff comando:





git diff master..branch_name

Para comparar arquivos específicos:

git diff master..testb -- main.html

Comparar dois branches é semelhante a como você compara um branch com o master:





git diff branch1..branch2

Para ver as diferenças em um arquivo específico entre dois ramos:

git diff branch1..branch2 -- main.html

Enviar alterações para uma filial remota

Você pode querer que outro desenvolvedor analise as mudanças que você fez em um arquivo em seu branch local antes de colocá-las ao vivo. Uma boa prática é empurrar seu branch local do Git para uma réplica remota para que eles possam dar uma olhada.

Vamos supor que você tenha criado anteriormente um branch local chamado alterar . Você pode alternar para aquele branch local, ajustar todos os arquivos que você deseja, então testá-los e enviá-los para aquele branch.

Você pode então enviar essas alterações para a versão remota do branch:

git push origin changes

Mesclar filial remota com mestre usando solicitação pull

Portanto, outro programador auditou as mudanças no ramo remoto ( alterar ) Mas você deseja mesclá-lo com o branch master e colocá-lo ao vivo.

Lembre-se de que seu branch remoto herda o nome de seu branch local do Git ( alterar ) Veja como mesclar as alterações:

Mude para o branch master:

git checkout master

Puxe a origem ou CABEÇA do ramo ( alterar ) para fundi-lo com o branch master:

git pull origin changes

Envie esta mesclagem ao vivo para o branch mestre:

git push origin master

Use Git Merge em vez disso

Para fundir uma ramificação com o mestre usando o ir comando:

Migrar para o branch master:

git checkout master

Fundir com o branch ( alterar ):

git merge changes

Em seguida, envie a mesclagem ao vivo para o branch master:

como seguir alguem no facebook
git push origin master

Certifique-se de substituir alterar com o nome da sua filial.

Assim que a fusão for bem-sucedida, você pode exclua a filial localmente e remotamente se você não precisar mais dele:

Relacionado: Como renomear um branch no Git

Git Rebase

Se você tiver vários branches com commits desatualizados, você pode rebase ou redirecionar o chefe / refs desses ramos para herdar o chefe / refs de um atualizado.

Rebasing, portanto, é útil quando você precisa atualizar alguns branches com a base de um atual.

Rebasing não deve ser uma ação frequente, no entanto, especialmente se você estiver trabalhando com uma equipe, pois pode interromper todo o fluxo de trabalho. Mas se você trabalha sozinho e está familiarizado com seu fluxo de trabalho e branches, o rebasing não deve causar estragos se você souber onde e como usá-lo.

Por exemplo, suponha que você tenha dois ramos; branch1 e branch2. Agora, você não fez nenhuma alteração no branch1 por algum tempo. Mas você confirma consistentemente as mudanças para o branch2, inclusive recentemente.

Então você decidiu transportar branch1 junto com o fluxo. Rebasing branch1 para branch2, portanto, significa que você está dizendo ao branch1 para ignorar seus commits anteriores e herdar o commit recente feito para branch2.

Veja como você pode fazer isso:

Mudar para a filial abandonada (branch1):

git checkout branch1

Em seguida, rebase o branch1 para o branch2 atualizado:

git rebase branch2

Git Squash

O Git squash permite mesclar vários commits em um. Ajuda quando você corre git commit muitas vezes em uma única atualização. Um exemplo prático é quando cada correção de bug ou refatoração de código para um único recurso tem um commit separado.

Mas você pode não querer empurrar o commit HEAD com os que o acompanham, pois todos eles têm o mesmo propósito. Uma abordagem recomendada é comprimi-los em um para evitar confusão ao rastrear commits.

A melhor maneira de esmagar os commits é por meio do modo de rebase interativo. Dê uma olhada no exemplo abaixo para entender melhor.

Neste exemplo, suponha que você tenha cinco correções de bug. E há um commit para cada um deles. Veja como você pode compactar esses cinco commits em um:

Corre git reflog para ver o código hash de seus commits:

git reflog

Aqui está o resultado neste caso:

Agora seu objetivo é esmagar os últimos cinco commits, começando com primeira correção até quinta correção .

Para fazer isso, copie o código hash do commit logo abaixo primeira correção ( 0a83962 ) Então aperte Q sair do reflog .

Agora corra git rebase --interactive nesse hash.

git rebase --interactive 0a83962

O Git então abre um arquivo de rebase interativo semelhante a este:

Para esmagar os commits, excluindo o primeira correção , substituir escolha com s para cada um dos outros commits:

Salve e feche este arquivo.

Outro arquivo é aberto para você renomear o commit compactado:

download de jogos antigos para windows 7

Limpe-os e digite um nome preferido para o commit compactado:

Salve esse arquivo. Em seguida, feche-o e você receberá uma mensagem de sucesso em seu terminal.

Observação: O arquivo interativo pode ser aberto no terminal. Mas se você estiver no Windows, pode forçar seu terminal a abrir arquivos globalmente em seu editor de texto favorito para facilitar a compactação.

Para fazer isso, abra sua linha de comando e execute:

git config --global core.editor ''path to choice text editor' -n -w'

Git Fork vs. Clone Git

Bifurcação e clonagem são dois termos diferentes no Git. Você não pode bifurcar seu repositório, pois ele já está lá com você. Você pode, entretanto, bifurcar o repositório de outras pessoas e cloná-lo posteriormente.

Bifurcar um repositório significa que você está pegando uma cópia do repositório de alguém e tornando-o seu. Depois de obter uma cópia desse repositório, você pode cloná-lo como faria com qualquer um de seus repositórios git para alterações locais.

Veja como clonar um repositório remoto no GitHub e inicie um download para seu diretório local:

git clone https://github.com/username/repository_name.git/

Restaurar um arquivo ao seu estado padrão

Se você quiser limpar as mudanças em um arquivo após o último commit, você pode usar o git restore comando:

git restore filename

Emendar um compromisso

Você pode voltar a um commit anterior se esquecer de fazer alterações em alguns arquivos enquanto os prepara.

Faça alterações no arquivo que você esqueceu. Então use alterar para revisar um commit:

git add file_forgotten
git commit --amend

Arquivos Unstage

Você pode remover arquivos específicos que você preparou para um commit usando vai rm comando:

git rm --cached filename

Você também pode remover vários arquivos de uma vez:

git rm --cached file1 file2 file3 file4

Lembre-se de anexar a extensão de arquivo relevante a qualquer arquivo que você está isentando. Por exemplo, um arquivo de texto simples deve ser filename.txt .

Relacionado: Como limpar o Git e remover arquivos não rastreados

Git Reset

Usando git reset é útil se você deseja descartar todos os arquivos que você testou para um commit de uma vez:

git reset

Git reset HEAD, entretanto, aponta o HEAD de um branch para um commit específico em sua árvore de trabalho. Por exemplo, se você ainda não enviou seu commit atual, você pode voltar para o commit enviado recentemente:

git reset --soft HEAD~1

Substituir --suave com --duro se você já enviou o commit atual:

git reset --hard HEAD~1

Go Reverert

Ao contrário do Redefinir comando, vá reverter mantém a integridade de seu histórico de commits. É útil se você deseja alterar um commit devido a erros ou bugs.

Ele não abandona o commit de destino ou faz um novo. Em vez disso, ele reverte para as alterações recentes feitas sem deletar ou renomear tal commit. É uma ótima maneira de manter seus commits mais limpos, além de ser mais seguro do que zerar o tempo todo.

Para reverter para um commit:

git revert HEAD~1

Onde CABEÇA ~ 1 aponta para um commit específico em sua árvore de trabalho.

Excluir um arquivo rastreado ou um diretório

Você pode usar git rm -f para excluir quaisquer arquivos rastreados em sua árvore de trabalho. Observe, no entanto, que o Git não pode remover arquivos não rastreados, pois não os armazena em cache.

Para excluir um arquivo de teste:

git rm -f filename

Para remover uma pasta preparada:

git rm -r -f foldername

Git Logging

Para visualizar seus registros de commit e histórico no Git:

git log

Para registrar as atividades em um ramo específico:

git log branch_name

Relacionado: Como inspecionar o histórico de um projeto com git log

Às vezes, você pode querer reverter para um commit abandonado. Portanto, para ver os commits abandonados, incluindo os relevantes:

git reflog

Para ver os logs de referência de um branch específico:

git reflog branch_name

Gerencie suas versões de projeto como um profissional com Git

Com o Git oferecendo muitas vantagens, você pode gerenciar os lançamentos de seu projeto remotamente, sem roubar arquivos e pastas locais em seu branch principal. Além disso, permite que você execute projetos facilmente com uma equipe.

Como você viu, o Git possui muitos recursos que você pode explorar. Mas tome cuidado ao usar esses recursos propositalmente. Caso contrário, você pode acabar quebrando coisas. Dito isso, você ainda pode criar um repositório remoto de demonstração e brincar com esses recursos.

Compartilhado Compartilhado Tweet O email Gerencie seu controle de versão de arquivo como um programador com Git

Os programadores criaram sistemas de controle de versão (VCS) para resolver problemas de controle de versão de arquivo. Vamos dar uma olhada nos princípios básicos do controle de versão usando o sistema top de hoje, Git.

Leia a seguir
Tópicos relacionados
  • Programação
  • Desenvolvimento web
  • GitHub
  • Tutoriais de codificação
Sobre o autor Idisou Omisola(94 artigos publicados)

Idowu é apaixonado por qualquer tecnologia inteligente e produtividade. Em seu tempo livre, ele brinca com codificação e muda para o tabuleiro de xadrez quando está entediado, mas também adora quebrar a rotina de vez em quando. Sua paixão por mostrar às pessoas o caminho da tecnologia moderna o motiva a escrever mais.

Mais de Idowu Omisola

Assine a nossa newsletter

Junte-se ao nosso boletim informativo para dicas de tecnologia, análises, e-books grátis e ofertas exclusivas!

Clique aqui para se inscrever