22 comandos do Git que podem fazer a diferença no dia a dia
Tags: github, git
Published: 2023-04-04 12:55:00

### 1. git init

O comando git init ajuda na criação do diretório .git inicial em um projeto novo. A pasta .git se encontra oculta e você deve desabilitar o recurso no caso do Windows para vê-la. No caso do Linux, você pode usar o comando 'll', 'ls -a' ou 'la' para visualizar os diretorios ocultos . É recomendado que ninguém adultere o conteúdo da pasta .git.

```
$ git init <nome do repositorio>
```

### 2. git clone

Este comando é usado para obter um repositório de uma URL existente.

```
$ git clone <url do repositorio>
```

Caso queira clonar apenas uma branch especifica:

```
$ git clone --branch <nome da branch> <url do repositorio>
```

Clone um repositorio com todas as branchs

```
$ git clone --mirror <URL_do_repositório>
```


### 3. git log

O comando “ git log ” lista todos o historico de commits do seu projeto, junto com algumas outras informações sobre como o commit foi feito.

```
$ git log
```

Voce também pode usar git log --oneline para reduzir o numero de informações

```
$ git log --oneline
```

### 4. git config

O comando ajuda a definir os valores de configuração para e-mail, nome de usuário, formatos de arquivo, algoritmo de arquivo preferencial e muitos outros atributos. O exemplo do comando é o seguinte:

```
$ git config --global user.name "Seu nome"
$ git config --global user.email "Seu e-mail"
```

### 5. git pull

O comando git pull é usado para buscar e baixar conteúdo de repositórios remotos e fazer a atualização imediata ao repositório local para que os conteúdos sejam iguais.

```
$ git pull <url do repositorio>
```

### 6. git status

Informa o status do branch, para saber se existem arquivos modificados.

```
$ git status
```

### 7. git add

O comando 'git add' ajuda a adicionar modificações de arquivo, atualmente no diretório de trabalho para o índice do usuário. O comando ajuda a adicionar arquivos não rastreados que estão prontos para serem confirmados no repositório remoto. O exemplo de uso do comando 'git add' é o seguinte.

```
$ git add <meuarquivo>
```

### 8. git commit

O comando git commit captura as alterações atualmente preparadas do projeto.

```
$ git commit <nome do arquivo> -m "<informações sobre o commit>"
```

Para fazer correção do ultimo commit.

```
$ git commit <nome do arquivo> -m "<informações sobre o commit> --amend"
```

### 9. git push

O comando envia todos os objetos locais modificados para o repositório remoto e, em seguida, aumentar suas ramificações.

```
$ git push origin main
```

Caso queira deletar uma branch remotamente voce pode usar o comando abaixo:

```
$ git push origin --delete <branch>
```

### 10. git restore

O comando retorna o arquivo informado.

```
$ git restore --source <sha do commit> <nome do arquvio>
```

### 11. git checkout

O comando serve para criar uma nova branch.

```
$ git checkout -b <nome da branch>
```

### 12. git switch

O comando muda para a branch informada.

```
$ git switch <nome da branch>
```

### 13. git remote

O comando é usado para conectar o repositório git local ao servidor remoto.

```
$ git remote add <variavel> <link servidor remoto>
```

Pode usar para mostrar

```
$ git remote show origin
```

### 14. git branch

O comando lista todas as branchs do projeto

```
$ git branch
```

Voce pode usar tambem `$ git branch -d` para deletar um branch local

### 15. git rm

Este comando é usado para excluir um arquivo específico do diretório de trabalho atual e preparar a exclusão.

```
$ git rmr <nomeDoArquivo>
```

### 16. git merge

O comando faz a união da branch atual com a branch informada.

```
$ git merge <branch>
```

### 17. git reset

Caso voce tenha adicionado todos os arquivos ao stage do commit voce pode usar `git reset` para remover um arquivo do stage.
Rode um `git status` após executar o comando para vê oque aconteceu

```
$ git reset -- <nome_arquivo>
```

### 18. git add -i

Agora caso queira remover mais de um arquivo do stage, você pode usar o `git add -i` usar a opção 3: revert que é o valor de revert e
digitar o numero dos arquivos que não quer commitar agora.

```
$ git add -i
```

Você pode adicionar ao stage utilizando a opão 4: add untracked

### 19. git reset --soft

Esse comando irá deletar os ultimos commits

```
$ git reset --soft HEAD~[numero de commits]
```

### 20. git reset --hard

Esse comando irá deletar todos os commits

```
$ git reset --hard
```

### 21. git fetch

O comando `git fetch` irá buscar todas as informações sobre branches e tags do repositório remoto (chamado de "origin" por padrão) e atualizar o seu repositório local com essas informações.

```
$ git fetch origin <repositorio git>
```
 
### 22. git branch -a

Você verá uma lista de todas as branches locais e remotas. 

```
$ git branch -a
```

### 23. Bônus

Faça um git clone de uma branch especifica e depois suba o commit para branch desejada

```
git clone <URL do Repositório>
cd <Nome do Repositório>
git fetch --all
git branch -a
git checkout <nome-da-branch>
git add <arquivo-a-ser-commitado>
git commig -m <seu commit>
git push origin <nome-branch>
```