<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Matilha do Codigo</title>
    <description>The latest articles on DEV Community by Matilha do Codigo (@matilhadocodigo).</description>
    <link>https://dev.to/matilhadocodigo</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3829979%2F5c9c5de8-a37e-4e03-918e-f7cf8939681c.png</url>
      <title>DEV Community: Matilha do Codigo</title>
      <link>https://dev.to/matilhadocodigo</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/matilhadocodigo"/>
    <language>en</language>
    <item>
      <title>Por que Python é a melhor primeira linguagem (e quando não é)</title>
      <dc:creator>Matilha do Codigo</dc:creator>
      <pubDate>Fri, 17 Apr 2026 17:53:53 +0000</pubDate>
      <link>https://dev.to/matilhadocodigo/por-que-python-e-a-melhor-primeira-linguagem-e-quando-nao-e-3ih4</link>
      <guid>https://dev.to/matilhadocodigo/por-que-python-e-a-melhor-primeira-linguagem-e-quando-nao-e-3ih4</guid>
      <description>&lt;p&gt;Se você pesquisar "qual linguagem aprender primeiro", 90% das respostas vão falar Python.&lt;/p&gt;

&lt;p&gt;E não é conspiração, não é hype, não é patrocínio de curso. Tem razão nisso. Mas também tem contexto que essas respostas ignoram — e ignorar o contexto é o que faz muita gente começar com a linguagem certa para o objetivo errado.&lt;/p&gt;

&lt;p&gt;Então vamos ser honestos sobre os dois lados.&lt;/p&gt;




&lt;h2&gt;
  
  
  Por que Python faz sentido como primeira linguagem
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. A sintaxe não briga com você
&lt;/h3&gt;

&lt;p&gt;A maioria das linguagens tem cerimônias que não fazem sentido pra quem tá começando. Declarar tipo de variável, ponto e vírgula no final de cada linha, chaves em todo lugar.&lt;/p&gt;

&lt;p&gt;Python elimina boa parte disso. Compare um "olá, mundo" em Java:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Main&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;static&lt;/span&gt; &lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;String&lt;/span&gt;&lt;span class="o"&gt;[]&lt;/span&gt; &lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
        &lt;span class="nc"&gt;System&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Olá, mundo!"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
    &lt;span class="o"&gt;}&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;E em Python:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Olá, mundo!&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Isso não é só estética. Quando você tá aprendendo lógica de programação, cada elemento estranho na sintaxe é uma coisa a mais pra se preocupar. Python deixa você focar no que importa: &lt;strong&gt;o raciocínio&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Você consegue fazer coisas úteis rápido
&lt;/h3&gt;

&lt;p&gt;Em Python, em poucas semanas você já consegue:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Automatizar tarefas repetitivas no seu computador&lt;/li&gt;
&lt;li&gt;Analisar uma planilha de dados&lt;/li&gt;
&lt;li&gt;Fazer uma requisição pra uma API&lt;/li&gt;
&lt;li&gt;Criar um script que renomeia 500 arquivos de uma vez&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Isso é motivação. E motivação é o que faz iniciante continuar quando fica difícil.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. O mercado usa Python de verdade
&lt;/h3&gt;

&lt;p&gt;Python não é linguagem de brinquedo pra aprender e jogar fora. É o que move boa parte de:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Ciência de dados e ML&lt;/strong&gt;: pandas, numpy, scikit-learn, TensorFlow, PyTorch&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Automação e DevOps&lt;/strong&gt;: scripts, pipelines, ferramentas de infra&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Backend web&lt;/strong&gt;: Django, FastAPI, Flask&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Segurança&lt;/strong&gt;: scripts de pentest, análise de malware&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Se você aprender Python bem, tem emprego real esperando do outro lado.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. A comunidade é enorme (e generosa)
&lt;/h3&gt;

&lt;p&gt;Tem um erro no seu código? Existe uma resposta no Stack Overflow. Quer fazer alguma coisa específica? Existe uma biblioteca pra isso. Quer aprender de graça? Tem material de qualidade pra todo nível em português e inglês.&lt;/p&gt;

&lt;p&gt;Comunidade grande significa menos tempo preso num problema sem solução.&lt;/p&gt;




&lt;h2&gt;
  
  
  Quando Python não é a melhor escolha
&lt;/h2&gt;

&lt;p&gt;Agora a parte que os tutoriais pulam.&lt;/p&gt;

&lt;h3&gt;
  
  
  Se você quer desenvolvimento mobile
&lt;/h3&gt;

&lt;p&gt;Python não tem presença relevante no desenvolvimento de apps mobile. Se o seu objetivo é criar aplicativos pra Android ou iOS, você vai querer:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Kotlin&lt;/strong&gt; (Android nativo)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Swift&lt;/strong&gt; (iOS nativo)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;JavaScript/TypeScript com React Native&lt;/strong&gt; (multiplataforma)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dart com Flutter&lt;/strong&gt; (multiplataforma)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Aprender Python antes vai atrasar você. Vá direto pra onde você quer chegar.&lt;/p&gt;

&lt;h3&gt;
  
  
  Se você quer desenvolvimento web frontend
&lt;/h3&gt;

&lt;p&gt;Python roda no servidor, não no navegador. Se você quer criar interfaces, botões, animações, o visual de um site — isso é território de &lt;strong&gt;JavaScript e HTML/CSS&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Python pode complementar mais tarde no backend, mas se o objetivo é o frontend, não é por ele que você começa.&lt;/p&gt;

&lt;h3&gt;
  
  
  Se você quer desenvolver jogos
&lt;/h3&gt;

&lt;p&gt;Existe o Pygame, mas honestamente? Não é o que a indústria usa. Se jogos são o objetivo:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;C# com Unity&lt;/strong&gt; é o caminho mais prático pro mercado indie&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GDScript ou C# com Godot&lt;/strong&gt; se você prefere open source&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;C++&lt;/strong&gt; se você tem ambições de trabalhar em grandes estúdios&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Se performance extrema é o requisito
&lt;/h3&gt;

&lt;p&gt;Python é lento comparado a linguagens compiladas. Para sistemas embarcados, drivers, engines de jogos ou qualquer coisa onde cada milissegundo conta, você vai querer &lt;strong&gt;C, C++ ou Rust&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Isso não significa que Python seja inútil nesses contextos — às vezes ele é usado como cola entre componentes. Mas como linguagem principal de um sistema crítico de performance, não é a escolha ideal.&lt;/p&gt;




&lt;h2&gt;
  
  
  A pergunta que importa
&lt;/h2&gt;

&lt;p&gt;Antes de escolher a linguagem, responda uma pergunta:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;O que você quer construir?&lt;/strong&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Objetivo&lt;/th&gt;
&lt;th&gt;Por onde começar&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Ciência de dados, IA, automação&lt;/td&gt;
&lt;td&gt;Python&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Desenvolvimento web (visual)&lt;/td&gt;
&lt;td&gt;JavaScript + HTML/CSS&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Apps mobile&lt;/td&gt;
&lt;td&gt;Kotlin, Swift ou Flutter&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Backend web&lt;/td&gt;
&lt;td&gt;Python, JavaScript (Node), Go&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Jogos&lt;/td&gt;
&lt;td&gt;C# (Unity) ou GDScript (Godot)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sistemas de baixo nível&lt;/td&gt;
&lt;td&gt;C ou C++&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Segurança ofensiva&lt;/td&gt;
&lt;td&gt;Python + Bash&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Se você ainda não sabe o que quer construir, aí sim Python é a melhor aposta. É versátil o suficiente pra te ajudar a descobrir o que te interessa sem te fechar em um nicho.&lt;/p&gt;




&lt;h2&gt;
  
  
  Uma coisa que não importa tanto quanto parece
&lt;/h2&gt;

&lt;p&gt;Muita gente fica travada na escolha da linguagem porque acha que é uma decisão permanente. Não é.&lt;/p&gt;

&lt;p&gt;A primeira linguagem serve pra você aprender a &lt;strong&gt;pensar como programador&lt;/strong&gt;: loops, condicionais, funções, estruturas de dados, depuração. Esses conceitos existem em todas as linguagens. Quando você aprende a lógica bem em Python, aprender JavaScript ou Kotlin depois fica muito mais fácil.&lt;/p&gt;

&lt;p&gt;A linguagem é o veículo. O raciocínio é o que você realmente aprende.&lt;/p&gt;




&lt;p&gt;Python é uma excelente primeira linguagem para a maioria das pessoas. Mas "maioria" não é "todo mundo". Saber o que você quer construir é mais importante do que seguir a recomendação padrão no piloto automático.&lt;/p&gt;

&lt;p&gt;Começou com outra linguagem? Conta aqui embaixo como foi a experiência 👇&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Esse artigo faz parte do conteúdo semanal da **Matilha do Código&lt;/em&gt;* — uma comunidade pra quem quer aprender Python, Git e SQL de verdade, sem enrolação. Me segue aqui no dev.to e no Instagram &lt;a href="https://instagram.com" rel="noopener noreferrer"&gt;@matilhadocodigo&lt;/a&gt; pra não perder os próximos.*&lt;/p&gt;

</description>
      <category>python</category>
      <category>iniciante</category>
      <category>carreira</category>
      <category>programação</category>
    </item>
    <item>
      <title>Git além do push: os comandos que ninguém te ensinou</title>
      <dc:creator>Matilha do Codigo</dc:creator>
      <pubDate>Fri, 10 Apr 2026 13:28:58 +0000</pubDate>
      <link>https://dev.to/matilhadocodigo/git-alem-do-push-os-comandos-que-ninguem-te-ensinou-aca</link>
      <guid>https://dev.to/matilhadocodigo/git-alem-do-push-os-comandos-que-ninguem-te-ensinou-aca</guid>
      <description>&lt;p&gt;Todo mundo aprende Git da mesma forma: &lt;code&gt;git init&lt;/code&gt;, &lt;code&gt;git add .&lt;/code&gt;, &lt;code&gt;git commit -m "primeiro commit"&lt;/code&gt;, &lt;code&gt;git push&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;E aí fica parado aí.&lt;/p&gt;

&lt;p&gt;O problema é que o Git tem um repertório enorme de comandos que fazem diferença no dia a dia — e que praticamente nenhum tutorial para iniciantes menciona. Você só descobre quando algo dá errado, às 23h, com pull request aberto.&lt;/p&gt;

&lt;p&gt;Esse artigo é pra mudar isso.&lt;/p&gt;




&lt;h2&gt;
  
  
  1. &lt;code&gt;git stash&lt;/code&gt; — o bolso secreto do Git
&lt;/h2&gt;

&lt;p&gt;Você está no meio de uma feature, o código tá pela metade, e chega uma mensagem: &lt;em&gt;"precisa corrigir um bug urgente na main"&lt;/em&gt;. O que você faz?&lt;/p&gt;

&lt;p&gt;Se você fizer &lt;code&gt;git checkout&lt;/code&gt; assim, o Git vai reclamar. Se fizer commit, vai sujar seu histórico com um "WIP: salvando para mudar de branch".&lt;/p&gt;

&lt;p&gt;A solução é o &lt;code&gt;stash&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git stash
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Isso guarda todas as suas alterações não commitadas num lugar temporário e deixa o diretório limpo. Aí você resolve o bug, volta, e restaura:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git stash pop
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Quer ver o que tem salvo?&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git stash list
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Você pode ter vários stashes e dar nome a eles:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git stash push &lt;span class="nt"&gt;-m&lt;/span&gt; &lt;span class="s2"&gt;"feature de login pela metade"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  2. &lt;code&gt;git log --oneline&lt;/code&gt; — porque o log padrão é horrível
&lt;/h2&gt;

&lt;p&gt;Já abriu um &lt;code&gt;git log&lt;/code&gt; e ficou olhando pra aquele bloco gigante de texto? Tem um jeito muito melhor:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git log &lt;span class="nt"&gt;--oneline&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Saída:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;a3f1c2e feat: adiciona autenticação JWT
9b2d441 fix: corrige validação do formulário
3c8e109 chore: atualiza dependências
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Limpo, legível, um commit por linha.&lt;/p&gt;

&lt;p&gt;Quer ver as branches também?&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git log &lt;span class="nt"&gt;--oneline&lt;/span&gt; &lt;span class="nt"&gt;--graph&lt;/span&gt; &lt;span class="nt"&gt;--all&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Isso desenha uma árvore visual das branches no terminal. Parece coisa de hacker, mas é só Git.&lt;/p&gt;




&lt;h2&gt;
  
  
  3. &lt;code&gt;git diff&lt;/code&gt; — antes de commitar, veja o que você fez
&lt;/h2&gt;

&lt;p&gt;Sabe aquele momento em que você digita &lt;code&gt;git add .&lt;/code&gt; sem nem olhar o que tá mudando? Pois é, todo mundo faz. Mas o jeito certo é revisar antes:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git diff
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Isso mostra &lt;strong&gt;linha por linha&lt;/strong&gt; o que mudou nos arquivos que ainda não foram adicionados ao staging.&lt;/p&gt;

&lt;p&gt;Já adicionou com &lt;code&gt;git add&lt;/code&gt; e quer revisar antes de commitar?&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git diff &lt;span class="nt"&gt;--staged&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Diferença específica entre dois commits?&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git diff abc1234 def5678
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Revisar o diff virou hábito quando você para de commitar lixo acidentalmente.&lt;/p&gt;




&lt;h2&gt;
  
  
  4. &lt;code&gt;git commit --amend&lt;/code&gt; — consertando o último commit
&lt;/h2&gt;

&lt;p&gt;Commitou com a mensagem errada? Esqueceu de incluir um arquivo? Não precisa criar um novo commit só por isso:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git commit &lt;span class="nt"&gt;--amend&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Isso abre o editor com a mensagem do último commit para você editar. Salva, fecha, e pronto.&lt;/p&gt;

&lt;p&gt;Quer mudar a mensagem direto sem abrir o editor?&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git commit &lt;span class="nt"&gt;--amend&lt;/span&gt; &lt;span class="nt"&gt;-m&lt;/span&gt; &lt;span class="s2"&gt;"feat: adiciona autenticação com JWT"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Quer incluir um arquivo esquecido?&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git add arquivo-esquecido.py
git commit &lt;span class="nt"&gt;--amend&lt;/span&gt; &lt;span class="nt"&gt;--no-edit&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;⚠️ &lt;strong&gt;Atenção:&lt;/strong&gt; só use &lt;code&gt;--amend&lt;/code&gt; em commits que ainda &lt;strong&gt;não foram enviados para o repositório remoto&lt;/strong&gt;. Se você já fez push, vai ter problemas na hora de fazer push novamente.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  5. &lt;code&gt;git restore&lt;/code&gt; — desfazendo alterações sem drama
&lt;/h2&gt;

&lt;p&gt;Você mudou um arquivo e se arrependeu. Quer voltar para como estava no último commit?&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git restore nome-do-arquivo.py
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Isso descarta todas as alterações locais naquele arquivo. Sem commit, sem complicação.&lt;/p&gt;

&lt;p&gt;Quer desfazer um &lt;code&gt;git add&lt;/code&gt; (tirar do staging)?&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git restore &lt;span class="nt"&gt;--staged&lt;/span&gt; nome-do-arquivo.py
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Isso não apaga as mudanças, só retira o arquivo da área de staging. As alterações continuam lá.&lt;/p&gt;




&lt;h2&gt;
  
  
  6. &lt;code&gt;git revert&lt;/code&gt; — desfazendo um commit sem reescrever a história
&lt;/h2&gt;

&lt;p&gt;Fez um commit que não devia? A tentação é usar &lt;code&gt;git reset&lt;/code&gt;, mas tem um problema: ele reescreve o histórico, o que pode causar bagunça em times.&lt;/p&gt;

&lt;p&gt;O &lt;code&gt;git revert&lt;/code&gt; é mais seguro: ele cria um &lt;strong&gt;novo commit&lt;/strong&gt; que desfaz as mudanças do commit anterior:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git revert abc1234
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;O histórico continua intacto, você só adiciona um commit novo que reverte o estrago. Perfeito para trabalhar em equipe.&lt;/p&gt;




&lt;h2&gt;
  
  
  7. &lt;code&gt;git cherry-pick&lt;/code&gt; — pegando só o que você quer
&lt;/h2&gt;

&lt;p&gt;Imagina que você tem um bugfix numa branch de feature, mas precisa aplicar esse fix na &lt;code&gt;main&lt;/code&gt; agora, sem fazer merge de tudo.&lt;/p&gt;

&lt;p&gt;O &lt;code&gt;cherry-pick&lt;/code&gt; pega um commit específico e aplica em outra branch:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git cherry-pick abc1234
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Vai até a branch de destino, roda esse comando com o hash do commit que você quer, e pronto. Só aquele commit é copiado.&lt;/p&gt;




&lt;h2&gt;
  
  
  Bônus: aliases que vão te poupar tempo
&lt;/h2&gt;

&lt;p&gt;Cansado de digitar &lt;code&gt;git log --oneline --graph --all&lt;/code&gt; toda hora? Cria um alias:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git config &lt;span class="nt"&gt;--global&lt;/span&gt; alias.tree &lt;span class="s2"&gt;"log --oneline --graph --all"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Agora é só digitar:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git tree
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Você pode criar aliases para qualquer comando. Alguns que uso bastante:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git config &lt;span class="nt"&gt;--global&lt;/span&gt; alias.st &lt;span class="s2"&gt;"status"&lt;/span&gt;
git config &lt;span class="nt"&gt;--global&lt;/span&gt; alias.co &lt;span class="s2"&gt;"checkout"&lt;/span&gt;
git config &lt;span class="nt"&gt;--global&lt;/span&gt; alias.unstage &lt;span class="s2"&gt;"restore --staged"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Resumindo
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Comando&lt;/th&gt;
&lt;th&gt;Quando usar&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;git stash&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Guardar trabalho em progresso para trocar de contexto&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;git log --oneline&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Ver histórico de forma legível&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;git diff --staged&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Revisar o que vai entrar no próximo commit&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;git commit --amend&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Corrigir o último commit (mensagem ou arquivos)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;git restore&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Desfazer alterações em arquivos&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;git revert&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Desfazer um commit com segurança em equipe&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;git cherry-pick&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Aplicar um commit específico em outra branch&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;p&gt;Esses comandos não são avançados — eles são &lt;strong&gt;essenciais&lt;/strong&gt;. São o que separa alguém que "usa Git" de alguém que realmente trabalha bem com ele.&lt;/p&gt;

&lt;p&gt;Tem algum comando que salvou sua vida e não tá nessa lista? Comenta aí 👇&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Esse artigo faz parte do conteúdo semanal da **Matilha do Código&lt;/em&gt;* — uma comunidade pra quem quer aprender Python, Git e SQL de verdade, sem enrolação. Me segue aqui no dev.to e no Instagram &lt;a href="https://instagram.com" rel="noopener noreferrer"&gt;@matilhadocodigo&lt;/a&gt; pra não perder os próximos.*&lt;/p&gt;

</description>
      <category>git</category>
      <category>iniciante</category>
      <category>produtividade</category>
      <category>terminal</category>
    </item>
  </channel>
</rss>
