Como uma pessoa desenvolvedora utiliza o Git no dia a dia
Tags: career, git, bitbucket, beginners
Published: 2023-10-03 00:04:32

Neste artigo reuni os principais comandos de Git que eu uso no meu trabalho como analista de sistemas.


Primeiro, é preciso entender que o Git utiliza um repositório Remoto(chamado também de Origin) e um repositório Local. 

Repositório Remoto = Origin = Localizado no Bitbucket ou Github

Repositório Local = Sua máquina


![repositorio remoto de um lado e repositorio local do outro](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/c6mocbdxzl6ebjzv4kea.jpg)

![Comandos para levar mudanças local para o repositório Remoto e para atualizar o repositório Local](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/aed3opufk317xvznvoz7.jpg)

Agora, vou mostrar para vocês as situações que ocorrem no meu dia a dia e quais comandos de Git eu utilizo para resolver e o porquê.


## Situação 1
Preciso começar a trabalhar numa nova tarefa. Então, eu crio uma nova branch, chamada TarefaX. Agora, para começar a trabalhar localmente(no meu Pc) com essa Branch, eu faço:

- Eu crio uma a nova Branch, a partir da master ou develop, depende de como o seu time trabalha, lá no Bitbucket ou github:


![criando branch no bitbucket](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wrjmex2uka1klteda6lw.png)

Fonte: [atlassian](https://community.atlassian.com/t5/Jira-questions/Cannot-change-default-branch/qaq-p/1102215)

- Pelo git bash ou cmd, vá até a pasta raiz do seu projeto;

- Verifique quais são as Branches que estão disponíveis no seu repositório local:

```
git branch --list
```

- Visualize as mudanças que estão no Remoto e não estão no Local:

```
git fetch
```


- Vamos armazenar as mudanças do repositório Remoto para o seu repositório Local:

```
git pull
```

- Agora, vamos para a Branch que você precisa trabalhar:

```
git checkout feature/TarefaX
```

---



## Situação 2

Eu abri uma Branch chamada TarefaB no começo da sprint, mas tive que criar outras Branches para trabalhar e só agora vou voltar a trabalhar na Branch TarefaB.


- Bom, precisamos fazer um comando semelhante ao ctrl  x, o famoso recortar, porque precisamos retirar e salvar as alterações feitas nessa branch:

```
git stash
```

- Como houve alterações no repositório Remoto que não estão no repositório  Local, é uma boa prática atualizar a Branch Local para evitar conflitos:

```
git fetch
```

```
git pull
```


- Agora "colamos" as alterações que havíamos "recortado" no início para voltar a trabalhar:

```
git stash pop
```

---


## Situação 3
Você terminou a sua tarefa na Branch TarefaX e, agora, você precisa enviar essas alterações para o repositório  Remoto(Bitbucket ou Github).

**Opção 1:** Você pode usar o Visual Studio para isso.

- Vá até Git Changes. Em seguida, escreva seu commit e clique em Commit All and Push:

![Visual Studio opcao git changes ](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/k5qfln95osojz4rcl9vc.jpeg)


---

![Opcao de Commit All, Commit and All and push, Commit All and async](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lpp7q9gtii03p9kir56f.png)


**Opção  2**: Usando o terminal

- Através do git bash ou cmd, vá até a pasta raiz onde está seu projeto:

`cd projeto-musicalles`


- Selecione a Branch desejada:

```
git checkout feature/TarefaX
```


- Antes de enviar as mudanças do repositório Local para o repositório Remoto, vamos verificar quais arquivos ou classes foram modificados:

```
git status
```


- Agora, vamos levar nossas mudanças do repositório Local para o Remoto:

```
git add .
```


```
git commit -m "Modifica o retorno do status code na Controller de Produtos"
```


```
git push -u origin nomeBranch
```




No momento é isso pessoal, dúvidas ou sugestões fiquem à vontade para comentar!