10 técnicas avançadas de Git - KDnuggets

10 técnicas avançadas de Git – KDnuggets

Nó Fonte: 3083811

10 técnicas avançadas de Git
Imagem do autor
 

Você já se perguntou o que você poderia fazer para parecer um profissional na frente do seu gerente ao usar o Git? Neste post, aprenderemos sobre 10 técnicas e atalhos avançados do Git que tornarão você mais eficiente no versionamento, manutenção e compartilhamento de código.

Você provavelmente já conhece o básico de commit, push, pull e branch com Git. Mas existem muitos comandos e recursos menos conhecidos que podem aprimorar suas habilidades. Depois de ler isto, você terá alguns truques na manga para impressionar seus colegas de trabalho com sua proficiência em Git.

Você adicionou e enviou os arquivos dessa maneira várias vezes, mas e se eu disser que isso pode ser feito em uma linha com o sinalizador `-am`? 

$ git add .
$ git commit -m "new project"

 

Em vez disso, tente fazer isso e adicionará as alterações no arquivo e criará o commit usando a mensagem. 

$ git commit -am "new project"

 

[master 17d7675] new project
4 files changed, 2 insertions(+), 1 deletion(-)

 

Você pode renomear sua mensagem de commit atual usando o sinalizador `–amend` e escrever a nova mensagem. Isso irá ajudá-lo com mensagens acidentais.

$ git commit --amend -m "Love"

 

[master 7b7f891] Love
Date: Mon Jan 22 17:57:58 2024 +0500
4 files changed, 2 insertions(+), 1 deletion(-)

 

Você pode incluir alterações adicionais no commit atual antes de enviá-lo para o repositório remoto. Para fazer isso, você precisa adicionar as alterações no arquivo e então confirmar usando o sinalizador `–amend`. Para reter a mensagem de commit anterior, simplesmente use o sinalizador `–no-edit`.

$ git add . 
$ git commit --amend --no-edit

 

[master f425059] Love
Date: Mon Jan 22 17:57:58 2024 +0500
6 files changed, 2 insertions(+), 34 deletions(-)

Se você deseja enviar um commit local e substituir o histórico remoto sem lidar com a resolução de problemas, você pode usar o sinalizador `–force`. No entanto, é importante observar que o uso do sinalizador force não é recomendado e só deve ser usado quando você tiver certeza absoluta do que está fazendo. Tenha em mente que usar o sinalizador de força reescreverá o histórico remoto.

$ git push origin master --force

 

Enumerating objects: 7, done.
Counting objects: 100% (7/7), done.
Delta compression using up to 16 threads
Compressing objects: 100% (4/4), done.
Writing objects: 100% (4/4), 357 bytes | 357.00 KiB/s, done.
Total 4 (delta 2), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (2/2), completed with 2 local objects.
To https://github.com/kingabzpro/VSCode-DataCamp.git
8f184d5..f425059  master -> master

Para desfazer um commit no Git, você pode usar o comando `revert`. No entanto, este comando não remove nenhum commit. Em vez disso, ele cria um novo commit que desfaz as alterações feitas pelo commit original.

Usaremos o sinalizador `log` com `–oneline` para visualizar o histórico de commits em um formato mais curto. 

$ git log --oneline

 

f425059 (HEAD -> master, origin/master) Love
8f184d5 first commit

 

Para reverter para um commit anterior, usamos o comando `git revert` seguido pelo ID do commit. Isso cria um novo commit com as alterações do commit anterior.

$ git revert 8f184d5

Você quer aumentar sua produtividade no GitHub? Com GitHub Code Spaces, agora você pode editar e executar seu código diretamente em seu navegador. 

Para acessar este recurso, basta navegar até seu repositório favorito, pressionar a tecla de ponto (“.”) no teclado e você será redirecionado para a IU do VSCode.

 

10 técnicas avançadas de Git
Imagem do autor
 

Você pode fazer alterações no código e enviá-las para seu repositório remoto. Porém, se quiser executar o código no terminal, você precisará executar o Codespace na nuvem. A versão gratuita oferece uma excelente opção para executar seu código Python em seu navegador. Não é incrível? Acabei de descobrir isso hoje.

 

10 técnicas avançadas de Git
Imagem do autor

Ao trabalhar em um projeto, você pode adicionar arquivos a uma área de teste e depois enviá-los para salvar seu progresso atual. No entanto, existe outra maneira de salvar seu trabalho facilmente usando o comando `stash`. Ao usar `stash`, você salva seu progresso atual sem adicioná-lo à área de teste ou confirmá-lo. Isso permite que você salve seu progresso e restaure-o sempre que precisar.

Salvaremos nosso progresso atual fornecendo um nome e armazenando-o. 

$ git stash save new-idea

 

Saved working directory and index state On master: new-idea

 

Você pode visualizar sua lista de stash e anotar o índice correspondente para recuperá-la.

$ git stash list

 

stash@{0}: On master: new-idea

 

Nosso estoque de “novas ideias” é salvo no índice 0. Para recuperá-lo, use este comando:

$ git stash apply 0

 

On branch master
Your branch is up to date with 'origin/master'.

Você tem a opção de renomear o nome da sua filial padrão para algo mais apropriado. Neste caso, renomearemos “master” para “main”. 

$ git branch -M main

 

10 técnicas avançadas de Git
 

Você pode verificar as alterações usando o seguinte comando: 

$ git status

 

On branch main
Your branch is up to date with 'origin/master'.

Se você quiser ver um histórico detalhado de todos os commits feitos no repositório atual, você pode usar o comando `git log`. No entanto, a saída pode ser difícil de ler. Para torná-lo mais legível, você pode usar os sinalizadores `graph`, `decorate` e `oneline`. Isso exibirá as alterações feitas em vários ramos e como elas se fundem.

$ git log --graph --decorate --oneline

 

10 técnicas avançadas de Git

Em diversas ocasiões, mudei para uma nova filial e esqueci o nome da filial anterior. Conseqüentemente, tive que usar o comando `git branch -a` para visualizar a lista de nomes de filiais. No entanto, existe uma maneira mais simples de retornar ao branch original usando o traço “-” após o comando `git checkout`.

Primeiro criaremos o novo branch Git “neo”.

$ git branch neo

 

Mudaremos para o ramo “neo”.

$ git checkout neo

 

Switched to branch 'neo'

 

Para voltar ao branch original, usaremos o seguinte comando:

$ git checkout -

 

Switched to branch 'main'

Aprendemos como substituir o repositório remoto. Vamos aprender como substituir o repositório local usando o repositório remoto.

Usaremos o comando `fetch` para obter as alterações mais recentes do repositório remoto. 

$ git fetch origin

 

Em seguida, usaremos o comando ‘reset’ com o sinalizador ‘hard’ para substituir quaisquer alterações locais pela versão remota. Observe que isso descartará permanentemente quaisquer alterações locais.

$ git reset --hard origin/master

 

HEAD is now at f425059 Love

 

Se ainda houver arquivos não rastreados, eles poderão ser removidos usando o seguinte comando:

$ git clean -df

Fiquei inspirado para escrever este artigo depois de assistir a um Vídeo do YouTube por Fireship. Admiro o criador pela sua capacidade de explicar temas complexos de forma simples. Seguindo seu método, aprendi muito sobre os recursos do Git.

Neste artigo, abordamos técnicas avançadas de Git que são cruciais para cientistas de dados e engenheiros de software que trabalham em um projeto colaborativo de dados. Conhecer essas técnicas pode ajudar a evitar acidentes e resolver problemas com muito mais rapidez.

Espero que você tenha achado este blog útil. Por favor, deixe-me saber se você gostaria de ler mais postagens com informações em tamanho de byte sobre ferramentas comumente usadas no mundo da ciência de dados.
 
 

Abid Ali Awan (@ 1abidaliawan) é um profissional de cientista de dados certificado que adora criar modelos de aprendizado de máquina. Atualmente, ele está se concentrando na criação de conteúdo e escrevendo blogs técnicos sobre tecnologias de aprendizado de máquina e ciência de dados. Abid é mestre em Gestão de Tecnologia e bacharel em Engenharia de Telecomunicações. Sua visão é construir um produto de IA usando uma rede neural gráfica para estudantes que lutam contra doenças mentais.

Carimbo de hora:

Mais de KDnuggetsGenericName