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"
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 ..
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