Article image
Antonio Filho
Antonio Filho14/03/2024 11:08
Compartilhe

Git – Versionamento de código: Salvando seu trabalho no ambiente remoto com o comando "git push"

  • #Git

Introdução:

Para que serve versionamento de código? Quando estamos desenvolvendo um aplicativo em qualquer linguagem é importante saber em que ponto do desenvolvimento estamos, principalmente quando se trabalha em equipe. Para isso, existe o versionamento de código, uma maneira de manter o trabalho organizado e indicar aos membros do time em que ponto estão. Várias ferramentas são encontradas para auxiliar nesse processo, entre as quais o Git, que é bastante flexível e grandemente utilizada atualmente. Através de comandos (comandos git), ele faz o controle de alterações.

O Git pode trabalhar localmente ou em conjunto com repositórios de software remotos, como GitHub ou Bitbucket ou outros. Um dos comandos mais importantes para transferir as alterações locais para um repositório remoto, quando se está usando o GitHub ou outro repositório, é o comando git push.

Funcionamento do git push:

O comando git push salva as alterações realizadas e salvas localmente (usando git commit), para um repositório remoto.

Como usar o comando git push:

Após cada etapa do desenvolvimento terminada deve ser feito o commit do repositório local, através do git-commit (ref. https://git-scm.com/docs/git-commit ). Feito isso, a versão local já está atualizada e pode ser transferida para o repositório remoto, no mesmo branch do repositório local. Branch é a área a ser gravada as alterações que, fazendo uma analogia, pode ser associada a um subdiretório dos diretórios remoto e local. 

Formato básico do comando:

 git push REMOTE-NAME BRANCH-NAME

Exemplo de uso:

inicializar um diretório local para uso do Git com "git init" (nesse diretório deve estar o seu projeto - no exemplo foi criado um projeto chamado helloword):

C:\helloword>git init

(ref. https://git-scm.com/docs/git-init)

Obs: estou utilizando no exemplo o ambiente Windows, com o command prompt. Pode ser feito também no ambiente Linux, no bash.

Será criado o subdiretório ".git" , diretório de controle do git.

Para atualizar os arquivos alterados, devemos adicioná-los ao stage do Git. "Staging area" é chamada a área onde ficarão os arquivos cujas mudanças serão incluídas na nova versão. Para isso devemos usar o comando "git add". Para adicionar todos arquivos usar "git add ."

 

C:\helloword>git add . 

(ref. https://git-scm.com/docs/git-add)

Se quiser verificar o Status dos arquivos, usar o comando "git status":

C:\helloword>git status 

(ref. https://git-scm.com/docs/git-status)

Obs: Se não especificar, ele assume o branch "master".

Fazer "commit" dos arquivos alterados a serem salvos:

C:\helloword>git commit -m “Primeiro Commit”

Se não houver especificado usuário e senha anteriormente, o git vai solicitar nesse momento:

*** Please tell me who you are.

Run

git config --global user.email "you@example.com"

git config --global user.name "Your Name"

Após se identificar executando os dois comandos acima (usando seu e-mail e seu nome de usuário), aí sim poderá ser executado o "git commit" como mostrado acima.

Será mostrada uma mensagem parecida com esta abaixo (com os seus arquivos, é claro :))

[master (root-commit) 1b88645] Primeiro Commit

 9 files changed, 659 insertions(+)

 create mode 100644 .gitignore

 create mode 100644 .mvn/wrapper/maven-wrapper.jar

 create mode 100644 .mvn/wrapper/maven-wrapper.properties

 create mode 100644 mvnw

 create mode 100644 mvnw.cmd

 create mode 100644 pom.xml

 create mode 100644 src/main/java/com/example/helloword/HellowordApplication.java

 create mode 100644 src/main/resources/application.properties

 create mode 100644 src/test/java/com/example/helloword/HellowordApplicationTests.java

Com isso, o branch "master" do diretório local estará atualizado.

Agora devemos copiá-lo para o repositório remoto. No meu caso, o repositório remoto é o GitHub .

Importante : havia criado um repositório vazio lá chamado helloword. Se não houver o repositório com o nome correto, o "git push" dará erro.

Definir para o "git push" qual o diretório remoto para o sistema local:

Para isso, utilizar o comando "git remote add" (ref. https://git-scm.com/docs/git-remote), e os argumentos:

 

Por exemplo:

C:\helloword>git remote add origin https://github.com/username/helloword.git

 

Se quisermos verificar qual o diretório remoto está sendo usado no momento:

 

C:\helloword>git remote -v
# Verify new remote
> origin https://github.com/username/helloword.git (fetch)
> origin https://github.com/username/helloword.git (push)

Após adicionar o repositório remot, dar um git push:

C:\helloword>git push origin master

Na primeira vez, se ainda não está conectado com o GitHub, receberá essa msg para conectar:

image

No meu caso usei o personal access Token do GitHub (ref. https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens), nessa tela:

image

Após a autenticação com o token (ou outro modo de autenticação), será possível dar um push no repositório remoto :

C:\helloword>git push origin master

origin = repositório remoto

master = branch sendo utilizado

Deverá receber uma mensagem parecida com essa, sinalizando que o push foi concluído com exito:

Enumerating objects: 25, done.
Counting objects: 100% (25/25), done.
Delta compression using up to 4 threads
Compressing objects: 100% (16/16), done.
Writing objects: 100% (25/25), 63.13 KiB | 4.21 MiB/s, done.
Total 25 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To https://github.com/xxxxxxx/helloword.git
 * [new branch]     master -> master

Com isso, o branch atual do seu diretório (repositório) remoto, no exemplo GitHub, estará atualizado e sincronizado com o seu repositório local. 

Conclusão:

 

O git push é um comando do git que permite transferir as alterações feitas localmente, para um repositório remoto. O mais utilizado desses repositórios é o GitHub, mas existem outros, como o BitBucket ou o GitLab.

É importante atentar no uso do git push que o trabalho local esteja devidamente salvo, pelo comando git commit, antes de se fazer a transferência para o lado remoto.

Dicas importantes:

-Verifique se todos os arquivos alterados estão devidamente no stage para o commit (git status). Se não, os adicione (git add)

-Nunca esqueça de dar um commit local antes de fazer um git push.

-Se o repositório remoto não existir ele não será criado, dando um erro.

-Se não existir o branch local do push no repositório remoto, ele será criado.

Documentação:

Para mais informações, ver a documentação oficial do Git  sobre o comando git push e opções. Ela pode ser acessada em https://git-scm.com/docs/git-push .

Compartilhe
Comentários (1)
Patrik Rufino
Patrik Rufino - 14/03/2024 14:24

Show Antonio, uma dica que acho legal também é seguir algum tipo de padrão nas mensagens do commit, assim fica bem organizado e fácil de buscar uma versão quando necessário, ou mesmo estudar o que foi implementado na resolução de um problema.


#Se liga no Link

GitHub - iuricode/padroes-de-commits: Padrões de commits