DEV Community

Daniel Wildt
Daniel Wildt

Posted on

1 3

Comandos para começar a brincar com o git

Dado que existe um repositório de exemplo disponível em "github.com/maisdevbr/ola-mundo" vamos rodar alguns exemplos de comandos para interagir com o git, ao mesmo tempo que você pode aproveitar para começar seus primeiros passos.

Um repositório é um local onde armazenamos todos os arquivos que fazem parte do projeto. Estes arquivos podem estar organizando em branches diferentes. Estes branches podem representar versões diferentes do projeto, e podem servir para documentar versões fechadas ou indicar a versão de trabalho.

No caso do repositório de exemplo, o alô mundo, ele está com apenas um arquivo chamado README.txt dentro do branch main, o único existente neste projeto.

Importante: Dificilmente você vai me ver falando sobre branches. Eu acredito e trabalho em trunk based development, e neste formato eu sempre desenvolvo código no branch principal.

Eu costumo usar "main" como sendo o branch principal. No github existe um local nas configurações para trocar o nome do branch principal para quando você criar novos repositórios, em github.com/settings/repositories.

Clonando o ambiente

O primeiro passo pode ser clonar o ambiente localmente e você pode fazer isso antes fazendo um fork no github para poder ter o repositório no seu perfil.

Depois de fazer o fork, você pode clonar o ambiente:

$ git clone git@github.com:<user>/ola-mundo.git
Enter fullscreen mode Exit fullscreen mode

Modifique o README.md

Adicione algo no arquivo README.md, modifique uma palavra. Agora precisamos verificar o que está diferente no nosso repositório. Para isso usamos o"git status":

$ git status
On branch main
Your branch is up-to-date with 'origin/main'.

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        modified:   README.md

no changes added to commit (use "git add" and/or "git commit -a")
Enter fullscreen mode Exit fullscreen mode

Levando os arquivos para o servidor

Criar um pacote de atualização dos arquivos: primeiro adicione os arquivos que devem fazer parte do seu update. Aqui entra o git add:

$ git add README.md 
Enter fullscreen mode Exit fullscreen mode

Com isso, agora temos mudanças que estão "staged", e prontas para serem adicionadas para um commit:

$ git status
On branch main
Your branch is up-to-date with 'origin/main'.

Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        modified:   README.md
Enter fullscreen mode Exit fullscreen mode

Se você adicionou o arquivo por engano, o próprio git retornou o comando que você pode usar para desfazer o add, usando git reset especificando o arquivo.

Agora que temos as mudanças para serem enviadas, precisamos usar o git commit:

dwildt:~/environment/maisdevbr/ola-mundo (main) $ git commit -m "markdown"
[main 5c2f365] markdown
 1 file changed, 1 insertion(+), 1 deletion(-) 
Enter fullscreen mode Exit fullscreen mode

Indiquei através do "-m" a mensagem do commit. Depois de ter feito, gostaria de mudar, para "link para tutorial de markdown". Para poder mudar a mensagem do commit recém feito, antes dele ser enviado para a origem, podemos usar --amend indicando uma nova mensagem de commit.

$ git commit --amend -m "link para tutorial de markdown"
[main b9e5b41] link para tutorial de markdown
 Date: Mon Nov 16 04:36:05 2020 +0000
 1 file changed, 1 insertion(+), 1 deletion(-)
Enter fullscreen mode Exit fullscreen mode

Faça pacotes de commit somente com o que precisar. Commits pequenos são importantes para explicar o que você está fazendo, e vale para poder contar histórias das suas modificações.

E para enviar os arquivos para a origem usamos git push:

$ git push origin main
Counting objects: 3, done.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 446 bytes | 446.00 KiB/s, done.
Total 3 (delta 1), reused 0 (delta 0)
remote: Resolving deltas: 100% (1/1), completed with 1 local object.
To github.com:maisdevbr/ola-mundo.git
   558268c..b9e5b41  main -> main
Enter fullscreen mode Exit fullscreen mode

O comando "git push origin main" está dizendo que queremos enviar todos pacotes de commit que organizamos para o remoto "origin" e para o branch "main". O git é um sistema de controle de versão distribuído, então na prática podemos ter diversos "remotes". O uso de origin é uma convenção.

Antes de iniciar o seu trabalho é sempre importante verificar se você está com tudo o que precisa no seu repositório. Para isso você pode usar o git pull:

$ git pull origin main
Enter fullscreen mode Exit fullscreen mode

Esse seria um ciclo simples de baixar um repositório, modificar um arquivo, e subir ele novamente para a origem.

-- Daniel Wildt

P.S.: para ficar claro que este post é escrito usando markdown, inclusive deixei ele dentro do repositório de alô mundo.

Postmark Image

Speedy emails, satisfied customers

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up

Top comments (0)

Image of Timescale

Timescale – the developer's data platform for modern apps, built on PostgreSQL

Timescale Cloud is PostgreSQL optimized for speed, scale, and performance. Over 3 million IoT, AI, crypto, and dev tool apps are powered by Timescale. Try it free today! No credit card required.

Try free