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`.