Introdução ao Git: Fluxo de Trabalho e Comandos Essenciais

Visão Geral do Fluxo Git

O Git organiza o controle de versão em três áreas principais: diretório de trabalho (working directory), área de preparação (staging area) e repositório local (local repository). A interação entre essas partes permite um controle preciso das mudanças no código. Configuração Inicial e Clonagem

Para iniciar um projeto, é necessário clonar um repositório remoto: ``` git clone https://github.com/wsdassssss/Github-test.git


Gerenciamento de Alterações
---------------------------

Após modificar arquivos, eles devem ser adicionados à área de preparação antes de serem confirmados: ```
git add arquivo.txt

Confirmação com mensagem descritiva: ``` git commit -m "Primeira alteração significativa"


Sincronização com Repositório Remoto
------------------------------------

Envio das alterações para o servidor remoto: ```
git push origin main

Atualização local com mudanças remotas: ``` git pull origin main


Reversão de Alterações
----------------------

Se uma mudança não for mais desejada antes de adicionar ao staging: ```
git checkout -- arquivo.txt

Para remover de um stage já feito: ``` git reset HEAD arquivo.txt


Aálise de Diferenças e Status
------------------------------

Visualizar mudanças pendentes: ```
git diff

Mostrar apenas resumo de alterações: ``` git diff --stat


Verificar estado atual dos arquivos: ```
git status

Controle de Histórico

Exibir histórico completo de commits: ``` git log


Visualizar gráfico de ramificações: ```
git log --graph --pretty=format:"%h %s"

Manipulação de Arquivos e Ramificações

Remover arquivos do controle: ``` git rm arquivo.txt


Remover apenas da área de preparação: ```
git rm --cached arquivo.txt

Remover do sistema de arquivos e do controle: ``` git rm -f arquivo.txt


Trabalho com Branches
---------------------

Criar nova branch para funcionalidades isoladas: ```
git branch feature_v2

Mudar para a nova branch: ``` git checkout feature_v2


Fazer alterações, adicionar e confirmar: ```
nano main.js
git add main.js
git commit -m "Implementação da função v2.0"

Voltar para a branch principal e mesclar: ``` git checkout main git merge feature_v2


Em caso de conflitos, resolver manualmente os trechos marcados e confirmar novmaente. Recuperação de Versões Anteriores
---------------------------------

Para voltar a um commit específico: ```
git reset --hard abc123def456

Para recuperar uma versão anterior após um reset: ``` git reflog git reset --hard def456abc789


Integração com Repositórios Remotos
-----------------------------------

Associar um repositório remoto local: ```
git remote add origin https://github.com/user/projeto.git

Sincronizar com histórias independentes: ``` git pull origin main --allow-unrelated-histories


Enviar uma branch específica: ```
git push -u origin feature_nova

Reorganização de Commits com Rebase

Combinar commits recentes para manter um histórico limpo: ``` git rebase -i HEAD~3


Isso abre um editor onde é possível escolher mesclar ou reordenar commits. Criação de Novo Repositório Local
---------------------------------

Inicializar um novo repositório: ```
git init

Adicionar e confirmar o primeiro conteúdo: ``` git add index.html git commit -m "Versão inicial v1.0"


Fluxo de Trabalho Recomendado
-----------------------------

- Sempre faça commit antes de mudar de branch. - Use branches para funcionalidades e correções separadas. - Rebase antes de enviar para evitar histórico poluído. - Verifique sempre o status com `git status` e `git diff`.

Tags: Git versionamento branch commit rebase

Publicado em 9-25 13:27