Confirgurar nome de usuário de forma local
git config --local user.name 'Name'
git config --local user.email '[email protected]'
Ver histórico
git log
git log --oneline
git log -p
Mais comandos: https://devhints.io/git-log
Criar um repositório para ouvir somente as modificações
git init --bare
Em outra pasta onde está o código em si, conecte a esse servidor
git remote add local path/to/server
git remote -v
Clonar repositório de modificações
git clone path/to/server
Enviar modificações
git push local master
Obter atualizações
git remote
git remote rename origin local
git pull local master
Listar os branches, criar e mudar de branch
git branch
git branch test
git checkout test
Ou para criar a branch e passar para ela
git checkout -b branchtest
Trazer o trabalho de uma branch para outra
- Juntar o conteúdo da branch desejada na branch atual, mas isso criará um novo commit
git merge branchtest
- Juntar os commit da branch desejada na branch atual, sem gerar commit de merge
git rebase branchtest
Remover modificações em X arquivo, que não foi ainda marcado para commit (git add file)
git checkout file
Remover modificações que foram marcados para commits (git add file)
git reset file
ou
git reset HEAD file
Remover um commit já feito, através do hash do commit a qual você deseja retornar na linha do tempo
git log --online (pegar o hash que você deseja voltar)
gt revert --soft hash (dessa forma irá voltar para o commit(hash) escolhido, e o(s) arquivo(s) irá manter as revisões)
git revert --hard hash (dessa forma não irá manter nada, USAR COM TOTAL CERTEZA)
Guardar alterações para depois
git stash
git stash list
git stash apply Nº da stash
Ou remover a última alteração e aplicar em seu projeto as modificações guardadas
git stash pop
Viajar na linha do tempo dos commits
- Caso precisar modificar alguma coisa nesse ponto da linha do tempo, precisa criar uma nova branch
git checkout hash
Verificar diferenças em commits
git diff hash..hash (hash do commit inicial e hash do commit final)
Gerar release do seu projeto
git tag -a v0.0.1 -m 'New release'
git tag
git push origin v0.0.1
Para criar pull request
Crie um fork do repositório a qual deseja modificar
Para juntar commits
git rebase -i HEAD~3
- No caso o 3 significa a quantidade de commits a serem juntados
ou
git rebase -i 7159c1
-
Caso não quiser especificar o número, pode informar o hash do commit anterior ao primeiro que desejamos trabalhar
-
Irá abrir uma tela com os commits para serem analisados, se irá ou não juntar, vai ficar escrito: "pick" na frente e devemos colocar "s" para juntar com o commit anterior
-
Para salvar a alteração basta usar :x
-
Irá abrir outra tela pedindo para editar a mensagem de commit basta informar a nova e usar :x
1º Faça o fork do repositório
2º Crie sua branch e suba as modificações no repositório que você fez fork:
git checkout -b branchTest
git add .
git commit -am 'commit'
git push -u origin branchTest
3º Solicite um pull request, mandando para branch master | main o que está em sua branchTest
4º O repositório original, para obter em sua máquina a atualização do pull request (caso aceito) basta atualizar com o comando abaixo:
git pull
5º O repositório a qual você fez fork, que está clonado em sua máquina, você precisa criar um remote para obter as atualizações que foram aceitas do pull request no repositório original.
git remote add upstream [email protected]:Sup3r-Us3r/repo-test.git (URL do repositório original)
git remote -v
git fetch upstream (para pegar as atualizações mais recentes do repositório original)
git checkout upstream/master
git checkout -b otherBranch (você já está no último commit, basta criar uma nova branch e realizar todo o procedimento de novo)