git help
git help --all
git help <qualquer_comando_git>
git <comando_git> -help
git --version
git config --global user.name "Leonardo Comelli"
git config --global user.email "email"
git config --global core.editor vim
mkdir nome_projeto
touch nome_arquivo
git init
git status
git add nome_arquivo
git add nome_diretorio
git add .
git commit nome_arquivo
git commit nome_arquivo meu_outro_arquivo
git commit nome_arquivo -m "Mensagem"
git commit -am "Mensagem"
git rm nome_arquivo
git rm -r diretorio
git log
git log --oneline
Este comando deve ser utilizando enquanto o arquivo não foi adicionado na staged area.
git checkout -- nome_arquivo
Este comando deve ser utilizando quando o arquivo já foi adicionado na staged area. git reset HEAD nome_arquivo
Se o resultado abaixo for exibido, o comando reset não alterou o diretório de trabalho.
Unstaged changes after reset:
M nome_arquivo
A alteração do diretório pode ser realizada através do comando abaixo:
git checkout nome_arquivo
git remote
git remote -v
git remote add origin git@github.com:mlssystem/git.git
git remote show origin
git remote rename origin git
git remote rm git
O primeiro push de um repositório deve conter o nome do repositório remoto e o branch.
git push -u origin master
Os demais pushes não precisam dessa informação
git push
git pull
git fetch
git clone git@github.com:mlssystem/git.git
git tag vs-1.1
git tag -a vs-1.1 -m "Minha versão 1.1"
Para criar uma tag assinada é necessário uma chave privada (GNU Privacy Guard - GPG).
git tag -s vs-1.1 -m "Minha tag assinada 1.1"
git tag -a vs-1.2 9fceb02
git push origin vs-1.2
git push origin --tags
O master é o branch principal do GIT.
O HEAD é um ponteiro especial que indica qual é o branch atual. Por padrão, o HEAD aponta para o branch principal, o master.
git branch nova_branch
git checkout nova_branch
Neste caso, o ponteiro principal HEAD esta apontando para o branch chamado nova_branch.
git checkout -b segunda_nova_branch
git checkout master
git merge nova_branch
Para fazer o merge, tem que estar no branch que deverá receber as alterações. O merge pode ser automático ou manual. O merge automático será feito em arquivos textos que não sofreram alterações nas mesmas linhas, já o merge manual será feito em arquivos textos que sofreram alterações nas mesmas linhas.
A mensagem indicando um merge manual será:
Automerging nome_arquivo
CONFLICT (content): Merge conflict in nome_arquivo
Automatic merge failed; fix conflicts and then commit the result.
git branch -d nova_branch
git branch
git branch -v
git branch --merged
git branch --no-merged
git push origin nova_branch
git push origin nova_branch:new-branch
git checkout -b nova_branch origin/nova_branch
git push origin:nova_branch
git commit --amend -m "Nova mensagem"
Alterando os três últimos commits
git rebase -i HEAD~3
O editor de texto será aberto com as linhas representando os três últimos commits.
pick f7f3f6d changed my name a bit
pick 310154e updated README formatting and added blame
pick a5f4a0d added catfile
Altere para edit os commits que deseja realizar alterações.
edit f7f3f6d changed my name a bit
pick 310154e updated README formatting and added blame
pick a5f4a0d added catfile
Feche o editor de texto.
Digite o comando para alterar a mensagem do commit que foi marcado como edit.
git commit –amend -m “Nova mensagem”
Aplique a alteração
git rebase --continue
Sinta-se a vontade para realizar adicionar mais informações ou realizar correções.