git config --global user.name "Danilo Marinho"
git config --global user.email [email protected]
git init
> Incializa repositóriogit status
> Ver a situação do repositóriogit add 'nome_do_arquivo ou * para todos os arquivos'
> coloca o arquivo na área de stage para que possa ser comitadogit commit -m "Mensagem sobre o commit"
> grava os arquivos que estão na área de stage no repositóriogit log
> verfica o histórico das alterações gravadas
git remote add origin 'endereço do repositório'
> referecia o repositório do GitHub como o de origemgit push origin master
> envia as alerações para o repositório do GitHubgit clone 'endereço do repositório'
> clona um repositório do GitHub
git add 'subDiretorio .'
> coloca somentes os arquivos do subdiretorio informado na área de stage- criar arquivo .gitignore, cada linha é o nome de um arquivo a ser ignorado, ex: todo.txt ou *log (ignora tudo com termina com log) > indica os arquivos a serem ignorados pelo Git
git commit -am "Mensagem do commit"
> adiciona à área de stage e comita ao mesmo tempo, obs: não funciona com arquivos novosgit log -n 'n'
> mostra apenas o 'n' ultimos commitsgit log --oneline
> melhor visualização do historico de commitsgit log --stat
> mostra resumo dos arquivos alterados- pode ser usar os três ultimos comandos combinados, ex: ```git log -n 2 --oneline --stat
git diff 'opcianal: nome do arquivo'
> mostra as mudanças ainda não adicionadas à área de stage nos arquivos já existentes alteradosgit diff --staged
> mostra diferenças entres arquivos na área de stage e a última versão comitadagit diff 'codigo do commit'
> mostra alterações dentro e fora do stagegit diff 'codigo do commit inicial..final'
> mostra as alterações realizadas entre o commit inicial e final passadosgit diff 'codigo do commit~n
> mostra mudanças em relação aos 'n' commits anteriores.git rm 'arquivo'
> mesmo funcionamento do add porém para remoção de arquivosgit mv 'nome atual' 'nome desejado'
> renomeia um arquivo obs: mesmo comando do linuxgit mv 'arquivo' 'subDir/arquivo'
> move o arquivo obs: mesmo comando do linuxgit checkout -- 'arquivo'
> desfaz as alterações que não estão na área de stage no arquivogit reset -- 'arquivo' ou sem paremetros
> remove os arquivo passados como parametro da área de stage, ou de todos os arquivos casa não tenha paramentrosgit reset --hard
> remove os arquivos da área de stage e desfaz as mudanças feitas nesses arquivosgit revert --no-edit 'codigo do commit'
> volta o repositorio para o commit correspondente ao codigo. obs: se omitir --no-edit sera solicitado nova mesagem do commitgit reset --hard 'codigo do commit'
> semelhante ao revert porém apaga todos os commit posteriores ao commit passado. Não recomendado se quiser manter o historico do codigo
git init --bare 'nome repositorio'
> No servidor, inicia um repositório remotogit remote add 'nome do repositorio' 'url'
> Adiciona um repositório remoto, obs: nome não precisa ser igual ao do servidorgit remote -v
> Exibe o nome e a url dos repositórios remotos, sem o -v só o nomegit remote rename 'nome atual' 'novo nome'
> Muda o nome do repositóriogit remote set-url 'nome repositorio' 'nova url'
> Muda o endereço do repositoriogit push 'nome repositorio' 'nome branch a ser enviado'
> envia os commits para o repositorio remotogit clone 'url do repositorio'
> Clona o repositoriogit pull 'nome do repositorio remoto' 'nome do branch local'
> Baixando commit do servidor
- Local (utilizado quando o repositório remoto esta na mesma máquina) url ->
git clone file:https:///opt/rep/meuRep.git
ougit clone /opt/rep/meuRep.git
- SSH (Mais recomendado) url ->
git clone [email protected]:/opt/rep/meuRep.git
- Git (Similar ao SSH porém menos seguro) url ->
git clone git:https://192.168.0.105/opt/rep/meuRep.git
- Http ou Https url ->
git clone http:https://192.168.0.105/opt/rep/meuRep.git
ougit clone https://192.168.0.105/opt/rep/meuRep.git
git branch -v
> Mostra o branch atual, sem -v não mostra o ultimo commitgit log --oneline --decorate --parents
> Mostra todos os commits os branchs ao qual pertencentemgit branch 'nome'
> cria um branch com o nome informadogit checkout 'nome branch'
> Muda para o branch informadogit checkout -b 'novo branch'
> cria novo branch e muda para elegit branch -d ou -D
> Com -d apaga o branch porém se as alterações ainda não foram aplicadas a outros brenchs deve-se usar -Dgit branch --no-merged
> mostra branchs ainda não mesclados com o atualgit merge 'nome do branch a ser mesclado com o atual' -m 'mensagem'
> Mescla os branchsgit rebase 'nome do branch'
> Mescla com o branch informado, e ambos os branch ficam com o mesmo historico
git branch (-r ou -a) -v
> -r lista branchs remotos -a lista os locais e remotos e com -v junto a uma das opções mostra o ultimo commit do branch- relembrando que 6.
git push 'nome repositorio remoto' 'nome branch a ser enviado'
envia um branch escolhido para o repositorio remoto git fetch 'nome do repositorio remoto'
> obtem os commits do branch remotogit pull
> quando sem paremetros obtens o commits do branch remoto e mescla do o localgit pull --rebase
> mesmo efeito de mesclar com rebasegit push 'nome repositorio remoto' :'nome do branch remoto'
> remove o branc remoto informado
git tag 'nome da tag'
> Cria uma taggit tag 'nome tag' 'numero do commit'
> cria uma tag para um commit especificogit tag
> lista todas as tagsgit tag -d 'nome da tag'
> apaga a tag informadagit tag -a 'nome tag' -m 'mensagem'
> cria tag anotada, que são tags com informações a maisgit show -s 'nome tag'
> mostra as informações da tag anotadagit push 'nome do repositorio remoto' 'nome tag'
> envia a tag para o repositorio remotogit push 'nome repositorio remoto' --tags
> envia todas as tags