aula

LPOO 1: Programação Java

Exercício: Conceitos Básicos

Trabalhando com o Repositório Local

git help 
git help init

Configurar o Git com o usuário autenticado

git config --global user.name "Rodrigo Noll"
git config --global user.email rodrigo.noll@canoas.ifrs.edu.br
git config --global --list

Na prática, o Git cria um arquivo para guardar as configurações globais

cat ~/.gitconfig

Criar uma pasta e iniciar o novo repositório

pwd 
mkdir meuprojeto
cd meuprojeto
ls -a
git status

Receberá um erro, a pasta não está sendo indexada pelo git

git init
git status
ls -a

Desta vez não receberá o erro, o repositório foi inicializado

touch README.md

Criado o arquivo em branco README.md

git status

Tem um arquivo que não está rastreado

git add README.md
git status

O arquivo ficou em staging

git commit -m "novo arquivo adicionado ao projeto"
git status

Não tem nada para commitar. Agora altere o arquivo README.md adicionando algum conteúdo a ele.

git status

git sabe que o arquivo foi modificado (tem uma versão nova)

git diff README.md

Apresenta a diferença entre o arquivo original e o modificado localmente (sinal de “+++” é algo adicionado e “—” é removido)
Agora altere o arquivo README.md adicionando algum conteúdo a ele.

git status
git commit -a -m "Nova versão do documento"
git status

Não tem nenhuma alteração a ser feita

git log

Apresenta o histórico de versões - todo o histórico de commits.

git help log
git log --oneline --graph --decorate --color
git show <ID DO COMMIT, PODE SER PARCIAL A PARTIR DE 4 LETRAS>

Apresenta os comentários do commit

git rm README.md
ls
git status
git add -u
git commit -a -m "Documento removido"

Trabalhando com Branches

git branch

Vai apresentar os branchs existentes no projeto

git branch novo-branch
git branch

mostra o branch recém criado

git checkout novo-branch

mostra que mudou para o novo-branch (estrela fica do lado dele)

git checkout -b testando

cria um novo branch e já muda para ele.

git branch

mostra que mudou para o testando (estrela fica do lado dele)

touch segundo-arquivo.md

Agora abra o arquivo e coloque um conteúdo dentro dele.

git add segundo-arquivo.md
git commit -m "novo-arquivo adicionado"

adiciona o arquivo apenas no último branch ‘testando’

git checkout novo-branch
ls 

vai mostrar que o arquivo novo-arquivo não está neste branch

git checkout testando
ls 

vai mostrar que o arquivo novo-arquivo está neste branch. Houve só a troca de branch, em um mesmo projeto, e os arquivos são diferentes dependendo do branch.

git checkout novo-branch
ls 

vai mostrar que o arquivo novo-arquivo não está neste branch

para mesclar o branch ‘testando’ com ‘novo-branch’, usa-se merge

git merge testando

mostra o que faltou

ls

agora aparece o novo arquivo novo-arquivo

git branch
git branch -d testando

agora apaga o branch testando.

git branch

mostra que só tem os dois branches agora

cd ..

Trabalhando com o Repositório Remoto

Crie um projeto no git a partir de https://classroom.github.com/a/oyoR-VfV

git clone https://github.com/<SEU_USUARIO>/<REPOSITORIO_CRIADO>.git

copia o projeto do repositório remoto para o workspace.

ls 

apresenta o projeto clonado

git clone https://github.com/<SEU_USUARIO>/<REPOSITORIO_CRIADO>.git projeto2
ls 

apresenta os dois projetos, o segundo foi apenas renomeado para projeto2

cd projeto2
git remote -v

Apresenta os detalhes do servidor, apresentando qual é o repositório remoto

touch arquivonovo	
git add arquivonovo 
git commit -m "arquivonovo adicionado"
git push -u origin master
git log
git push

Mandar o arquivo do repositório local para o remoto.

cd ..
cd aula-git-es-2018-1
git pull

como é o mesmo repositório, o arquivo que tinha sido criado em projeto2 também veio para esta repositório, pois ambos referenciam o mesmo remoto.

git log