-
Configuração:
- git config --global user.name "< Seu Nome >"
- git config --global user.email < Seu Email > (Sempre com email do GITHUB)
-
Para iniciar o versionamento:
- criar o arquivo .gitignore (com as opções)
- git init na pasta do projeto
-
Para associar Git ao Github:
- Criar um projeto
- Colocar no Git Bash git remote add origin <URI do repositório remoto>
- Para mudar o repositório remoto git remote set-url origin <URI do repositório remoto>
- git push -u origin master (Para enviar o repositório local para o Github)
- git push (Para enviar o novo commit)
-
Para abrir pastas e voltar ( CMD ):
- cd "nome da pasta" (Para abrir uma pasta seguinte)
- cd .. (Para voltar uma pasta)
-
Salvando versões:
- git status (para ver status)
- git add . (para preparar todos os arquivos e "*.txt" para adicionar todos arquivos txt por exemplo)
- Caso tenha dado um add em um arquivo de teste git reset HEAD "nome do arquivo" para tirar do staged
- git commit -m "O titulo da versão" (para salvar uma versão, é possível também dar git commit -a -m "O titulo da versão" para dar add e commit em uma linha)
- git commit --amend -m "O titulo da versão" (para adicionar ao ultimo commit)
- git log (para ver as modificações)
- git log --oneline (para ver em apenas uma linha)
- git log -p (para ver todos os detalhes e mudanças feitas, git log -p -1 para ver apenas o ultimo)
- gitk (o mesmo que -p porem em uma interface)
- OBS: caso esqueça de colocar o nome da versão
- tecla ESC
- :q!
- Tecle ENTER
-
Caso tenha enviado um commit errado para o repositório remoto:
- Precisa dar reset no repositório local primeiro
- Logo em seguida forçar o push com git push -f origin < nome do branch > (geralmente MASTER), dessa forma força a atualização do repositorio
-
No caso queira parar de versionar um arquivo/pasta e ignorar ou ate mesmo deixar de exemplo
- git update-index --assume-unchanged <arquivo/diretorio>
-
Para ver o que foi alterado antes de dar commit:
- git diff (para usar esse método não pode ser feito o add)
- Caso ja tenha feito o add usar git diff --staged
- Voltando a versão anterio:
- git checkout -- "nome do arquivo sem aspas" (para voltar a versão do ultimo commit de um arquivo)
- git clean -df " e depois " git checkout -- . "
-
Desfazendo ultimo commit:
- git reset --soft HEAD~1 (Remover o último commit mantendo asalterações nos arquivos)
- git reset --hard HEAD~1 (Remover o último commit INCLUSIVE asalterações nos arquivos PERIGO!)
-
Para olhar uma versão anterior:
- git checkout "código do commit" (Para trocar de branch)
- E depois git checkout "nome do branch ou código" "no caso branch = master" (Para trocar novamente dessa forma não altera as versões)
-
Para copiar um repositório do GITHUB:
- Abrir o Git Bash na pasta e colocar git clone <URI do repositório remoto>
- ATENÇÃO: simplesmente copiar os arquivos NÃO traz o histórico de commits!
-
Atualizar o repositório local:
- **git pull origin master **
- IMPORTANTE: o Git só deixa você continuar um trabalho e depois subi-lo para o repositório remoto, se você mantiver a sequência coerente de commits.
-
Adição de tag:
- git tag -a V1.0 -m "Titulo da Tag (para adicionar uma tag)
- git tag (para ver as tag em lista)
- git tag -d < nome da tag >
-
Para criar branch:
- git branch < nome do branch >
- git branch (Para ver os branch )
- git checkout < nome do branch > (para trocar de branch)
- git merge < nome do branch que quer juntar > (Atenção: sempre o branch que estar irá modificar)
- git branch -d < nome do branch > (para apagar o branch LOCAL)
- git push < nome do origin > < nome do branch > --delete (para apagar o branch REMOTO))
-
Trabalhando com servidor local:OBS: não pude conferir ainda como funciona essa parte
- git init --bare (para que todos possam ter acesso, faze isto no servidor)
- git clone file:////< nome do servodor > / < local do projeto > (fazer isso na pasta onde irá clonar)
- git remote (para ver o nome do servidor remoto)
- git push < nome do servidor > master (gerealmente nome do servidor é "origin")
- git pull < nome do servidor > master (para atualizar as alterações em tempo real para outra pessoa, comando tem que ser feito na pasta do projeto que irá atualizar)
- git fetch < nome do servidor > < nome do branch >