An open API service indexing awesome lists of open source software.

https://github.com/fhaelmarinho/tutorial_git

Guia rápido do Git/GitHub
https://github.com/fhaelmarinho/tutorial_git

git github

Last synced: 4 months ago
JSON representation

Guia rápido do Git/GitHub

Awesome Lists containing this project

README

          

# Tutorial Completo de Git e GitHub na Prática

## Sumário
1. [O que é Git e GitHub?](#o-que-é-git-e-github)
2. [Instalação e Configuração](#instalação-e-configuração)
3. [Conceitos Básicos do Git](#conceitos-básicos-do-git)
4. [Comandos Básicos do Git](#comandos-básicos-do-git)
5. [Trabalhando com Repositórios Remotos no GitHub](#trabalhando-com-repositórios-remotos-no-github)
6. [Fluxos de Trabalho com Git](#fluxos-de-trabalho-com-git)
7. [Boas Práticas](#boas-práticas)
8. [Recursos Adicionais](#recursos-adicionais)

---

## 1. O que é Git e GitHub?

### Git
- **Git** é um sistema de controle de versão distribuído (DVCS) usado para rastrear alterações em arquivos e coordenar o trabalho entre várias pessoas.
- Ele permite que você salve "snapshots" (versões) do seu projeto ao longo do tempo, facilitando a colaboração e o gerenciamento de código.

### GitHub
- **GitHub** é uma plataforma de hospedagem de código-fonte que usa o Git como base.
- Ele oferece uma interface gráfica para gerenciar repositórios Git, além de funcionalidades como issues, pull requests, e integração com ferramentas de CI/CD.

---

## 2. Instalação e Configuração

### Instalação do Git
1. **Windows**: Baixe o instalador em [git-scm.com](https://git-scm.com/).
2. **Linux**: Use o gerenciador de pacotes da sua distribuição. Exemplo:
```bash
sudo apt-get install git
```
3. **macOS**: Use o Homebrew:
```bash
brew install git
```

### Configuração Inicial
Após instalar, configure seu nome e e-mail:
```bash
git config --global user.name "Seu Nome"
git config --global user.email "seu-email@exemplo.com"
```

Verifique as configurações:
```bash
git config --list
```

---

## 3. Conceitos Básicos do Git

### Repositório
- Um **repositório** (repo) é um diretório que contém todos os arquivos do seu projeto, junto com o histórico de alterações.

### Commit
- Um **commit** é um "snapshot" do seu projeto em um determinado momento. Cada commit tem um identificador único (hash) e uma mensagem descritiva.

### Branch
- Uma **branch** é uma linha de desenvolvimento independente. A branch padrão é chamada `main` ou `master`.

### Merge
- **Merge** é o processo de combinar alterações de duas branches.

### Clone
- **Clone** é uma cópia completa de um repositório, incluindo todo o histórico de commits.

### Fork
- Um **fork** é uma cópia de um repositório no GitHub, permitindo que você faça alterações sem afetar o projeto original.

---

## 4. Comandos Básicos do Git

### Iniciar um Repositório
```bash
git init
```

### Verificar o Status do Repositório
```bash
git status
```

### Adicionar Arquivos ao Staging Area
```bash
git add # Adiciona um arquivo específico
git add . # Adiciona todos os arquivos modificados
```

### Fazer um Commit
```bash
git commit -m "Mensagem descritiva do commit"
```

### Ver o Histórico de Commits
```bash
git log
```

### Criar uma Nova Branch
```bash
git branch
```

### Mudar para uma Branch
```bash
git checkout
```

### Mesclar Branches
```bash
git checkout main
git merge
```

### Clonar um Repositório Remoto
```bash
git clone
```

---

## 5. Trabalhando com Repositórios Remotos no GitHub

### Adicionar um Repositório Remoto
```bash
git remote add origin
```

### Enviar Alterações para o GitHub (Push)
```bash
git push -u origin main
```

### Atualizar o Repositório Local com Alterações do GitHub (Pull)
```bash
git pull origin main
```

### Fork e Clone de um Repositório
1. No GitHub, clique em "Fork" no repositório que deseja copiar.
2. Clone o repositório forkado:
```bash
git clone
```

### Enviar um Pull Request
1. Faça alterações no seu fork e envie para o GitHub:
```bash
git add .
git commit -m "Descrição das alterações"
git push origin main
```
2. No GitHub, vá até o repositório original e clique em "New Pull Request".

---

## 6. Fluxos de Trabalho com Git

### Fluxo Básico
1. Crie uma branch para uma nova funcionalidade:
```bash
git checkout -b feature/nova-funcionalidade
```
2. Faça commits das suas alterações:
```bash
git add .
git commit -m "Adicionada nova funcionalidade"
```
3. Envie a branch para o GitHub:
```bash
git push -u origin feature/nova-funcionalidade
```
4. Crie um Pull Request no GitHub para mesclar a branch com `main`.

### Git Flow
- Um fluxo de trabalho mais estruturado, com branches específicas para desenvolvimento (`develop`), releases (`release`), e hotfixes (`hotfix`).

---

## 7. Boas Práticas

- **Commits Atômicos**: Faça commits pequenos e focados em uma única alteração.
- **Mensagens Descritivas**: Use mensagens de commit claras e objetivas.
- **Trabalhe com Branches**: Evite fazer alterações diretamente na branch `main`.
- **Sincronize Frequentemente**: Use `git pull` regularmente para manter seu repositório local atualizado.

---

## 8. Recursos Adicionais

- **Documentação Oficial do Git**: [git-scm.com/doc](https://git-scm.com/doc)
- **GitHub Guides**: [guides.github.com](https://guides.github.com/)
- **Git Cheat Sheet**: [Git Cheat Sheet](https://education.github.com/git-cheat-sheet-education.pdf)