Skip to content

Instantly share code, notes, and snippets.

@emiliojva
Last active June 7, 2022 23:39
Show Gist options
  • Save emiliojva/353b86eea6f81345bbc0b406a5839dc4 to your computer and use it in GitHub Desktop.
Save emiliojva/353b86eea6f81345bbc0b406a5839dc4 to your computer and use it in GitHub Desktop.
Git - O Essencial para começarmos

Git

Git pronuncia-se [git] (ou /ɡɪt/ em inglês britânico[1][2]) é um sistema de controle de versões distribuído, usado principalmente no desenvolvimento de software, mas pode ser usado para registrar o histórico de edições de qualquer tipo de arquivo (Exemplo: alguns livros digitais são disponibilizados no GitHub e escrito aos poucos publicamente). O Git foi inicialmente projetado e desenvolvido por Linus Torvalds para o desenvolvimento do kernel Linux, mas foi adotado por muitos outros projetos.

Referencias:

O Essencial para começarmos

instalação (Ubuntu/Debian)

sudo apt update
sudo apt install git
git --version
git config --global user.name "Your Name"
git config --global user.email "youremail@domain.com"
git config --list

Referencia: https://www.digitalocean.com/community/tutorials/how-to-install-git-on-ubuntu-20-04-pt

Na raiz do seu projeto digite. Isso dará poderes para versionar seu projeto com GIT

git init

Finalizei uma funcionalidade! Como posso fazer uma entrega ?

Para isso, use a sequencia a seguir no seu terminal

# Adicionar arquivos para entrega(commit). 
git add .\WEB-INF  .\index.html 

# verificar se está tudo ok para entrega. Mostra a situação atual do projeto
git status

# Se está ok, fazemos a entrega! Com uma breve descrição com -m ""
git commmit -m "Entrega do Cartão 001. Autenticando e listando operadores"

Ok, fiz minha entrega. Como vejo a data e a hora no log do GIT?

Para isso, use o comando log do git

# Isso exibe todo o Log do branch(trilha atual) em ordem decrescente de data e hora. Ele também exibe o autor, email e hash(id) do commit
git log

Puxa, esqueci de adicionar um arquivo nessa entrega, e agora?

Para isso, use a opção --amend comando commit

# Adicione o arquivo que eu gostaria, no commit atual(git log).
git add arquivo_esquecido.java

# Se isso for tudo, commit novamente mas agora com "--amend". Isso anexa o arquivo adicionado ao stage(cenário) atual e ao ultimo commit dado.
git commit --amend

# Um editor será aberto na Command Line Interface (CLI) para confirmação. 
# Ao salvar o arquivo o editor automaticamente refaz o commit
# Só que agora com o "arquivo_esquecido" anexado a esta entrega.
CTRL + S(editores), CTRL + X (nano) ou esc:wq(vim)

Ok, mas essa entrega foi um marco para meu app. Como posso favorita-la?

Para isso, o git nos fornece o comando tag. O qual permite gerar uma versão a partir de um commit.

# Cria uma marcação(tag) que pode ser um versão(visão) do projeto.
git tag -a v1.0.0 -m "Essa versão do app, permite apenas fazer login da minha aplicação"

Tudo muito bonito, muito legal! Mas o projeto em git só está na minha máquina.

Para isso, temos repositórios em nuvem ou online e o comando push

  1. Primeiro podemos criar uma conta no https://github.com
  2. Criar um novo projeto, com o botão Ǹew.
  3. Definir se o projeto é public ou private.
  4. Apertar Create Project para finalizar. Pronto temos um repositório web(online)
  5. Isso irá gerar um repositório online(remoto) que podemos compartilhar e usar. Semelhante a está url: https://github.com/<meu_usuario_github>/<meu_repositorio_online>.git
  6. Pronto, agora podemos dar push do git que está em nossa máquina(local) para o repositório git da nuvem(remote) com a sequencia a abaixo:
    # O comando remote irá vincular nosso projeto ao github(repo na nuvem)
    git remote add origin git@github.com:emiliojva/meu_projeto.git
    
    # O Comando git push irá enviar todos os commits para nosso repositorio github
    git push origin main -u 
    
    
    # Descricao do comando acima:
    # origin é apenas um alias(apelido) para nossos apontamentos da nuvem.
    # No momento tempos apenas um apontamento para o github, podemos ter quantos quisermos.
    # main é o nome do branch principal (atualmente, no passado era master) 
    # -u é apenas na primeira vez. Para sincronizar local com remoto.
    

Quero compartilhar com um amigo na web, como faço :( ?

  1. Após criação no github, podemos definir quem são os participantes, em Settings > Collaborators > Add People
  2. No Caminho completo https://github.com/<meu_login>/<meu_projeto>/settings/access

Avançando com git

Já estou na tag v4.0.0 , como faço pra visualizar meu projeto quando era na versão v1.0.0

Para isso, o git nos fornece o comando checkout. Sim, como funciona em um hotel. Você pode sair de uma trilha(branch) e ir para uma tag, conforme o comando abaixo:

# Este comando diz ao git que você quer ir para uma tag especifica e para criar um novo ramo/trilha(branch) chamada "v1.0.0-branch"
$ git checkout tags/v1.0.0 -b v1.0.0-branch
Switched to a new branch 'v1.0.0-branch'

Written with StackEdit.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment