Adicionar alias no git
Tags: git
Published: 2021-09-04 17:13:31

Vamos configurar nosso **git** para adicionar atalhos com o intuito de reduzir alguns comandos.

Para acessar a lista de configurações atuais do **git**, vamos executar o comando:

```javascript
git config --list
```
Ao executar o comando acima vai aparecer algo semelhante:

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hn445m27494bvevrx12j.png)

Vamos editar as configurações e para isso vou usar o **Visual Code** como editor principal, existem vários níveis de configurações:

* **--system**: Configuração do **git** para todos os usuários e projetos, caso altere ou adicione novas configurações vai afetar todos usuários e projetos;

* **--global**: Configuração do **git** afeta o seu usuário e todos os projetos;

* **--local**: Configuração do **git** afeta somente o projeto alvo das alterações;

Para a configuração vou fazer para o nível **global**, para isso execute o comando abaixo, esse comando vai abrir a edição no **terminal**, porém vamos usar o **Visual Code**:

```javascript
git config --global --edit
```
A tag **--edit** é para edição no terminal.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lhrdzuns2jq4a2aj835q.png)

Para usar como editor o **Visual Code**, execute o comando abaixo:

```javascript
git config --global core.editor code
```
Para usar o **Visual Code**, usamos o **core.editor** e definimos a tag **code**. Caso ao executar o comando acima não abrir o **Visual Code** execute o comando:

```javascript
git config --global --edit
```
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9muumn1kp4wax6q0sykl.png)

Como vamos usar o **Visual Code** como editor principal, temos que fazer uma pequena alteração que é adicionar a flag **--wait**, essa server para ao executar o comando para abrir as configurações tenha uma esperar para que não mostre em branco.

```javascript
[core]
	editor = code --wait
```

Agora podemos criar os atalhos tag **[alias]** para o **git status**, **git commit** e **git log**.

1 - **git status**: Vamos adicionar o atalho e resumir as informações exibidas com a tag **-s**, para isso adicione o código abaixo:

 ```javascript
[alias]
 	s = !git status -s
```
No terminal executa o atalho **git s** na saída é exibida a imagem abaixo:

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ia6mcsvlrh3plprlpv90.png)

2 - **commit**: Para o comando **commit** criamos o atalho **c** que faze referencia aos comandos **git add --all** e o **git commit -m**, adicione o código abaixo logo depois ao atalho **s**:

 ```javascript
[alias]
 	s = !git status -s
	c = !git add --all && git commit -m
```
No terminal executa o atalho **git c "mensagem do commit"** para criar o **commit**.

3 - **git log**: Para o comando **log** criamos o atalho **l**. Algumas flags vamos adicionar para melhorar a exibição:

* **--pretty=format:''** = Podemos formatar as informações exibida no log;
* **%cn** = Nome da pessoa que fez o **commit**;
* **%cr** = Data do **commit**;
* **%H** = **Hash** do **commit**;
* **%h** = **Hash** resumida;
* **%d** = Exibir a **branch** e se tiver tag;
* **%s** = Exibi a mensagem do **commit**;
* Podemos colocar cores **%C(cor)**; 

Para adicionar o atalho para o **log**, crie a linha abaixo do atalho **c**:

 ```javascript
[alias]
 	s = !git status -s
	c = !git add --all && git commit -m
	l = !git log --pretty=format:'%C(blue)%h %C(red)%d %C(white)%s - %C(cyan)%cn, %C(green)%cr'
```
No terminal execute o atalho **git l**, o **log** agora vai aparecer como a imagem abaixo:

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/m5nqb1z6nmbfuivot9ya.png)