## Comandos Básicos Como inicializar o repositório local como um repositorio git. ``` git init ``` Conectar o repositório local ao um repositório remoto (hosting git) ``` git remote add origin https://remotegit.com/repo/repo.git ``` ou para SSH: ``` git remote set-url origin [email protected]:user/priv-scalation-mautic.git ``` Para testar a conexão SSH: ``` ssh -T [email protected] ``` > O nome origin é o nome da conexão que é dada para remote link. Não necessariamente é necessário ser esse, apenas uma convenção. Usando o git remote, para visualizar as origens você pode rodar o seguinte comando: ``` git remote ``` Em alguns momentos é necessário setar alguns parâmetros de configuração em nível de repositório, usuário ou em nível de sistema. ``` # Configuração em nível de repositorio. git config --local ... # Configuração em nível de usuário. git config --global ... # Configuração em nível de maquina. git config --system ... ``` > Como existem configurações que podem ser divergentes, existe um processo de hierarquia no nos níveis. Existe um hack para deixar a tabela de visualização de logs em um formato mais acessível que seria o seguinte comando: ``` git config --global alias.hist 'log --pretty=format:"%h %ad | %s%d [%an]" --graph --date=short' ``` ## Comandos de Commit, log e branch Verifica como está a integridade dos arquivos/status do repositório/status dos commits, etc. ``` git status ``` Em alguns momentos será necessário realizar a restauração de arquivos ausentes ou corrompidos: ``` git restore . ``` Para visualizar os detalhes de um commit especifico você pode usar o comando: ``` git log ``` ou o nosso alias: ``` git hist ``` E para pegar especificações do que foi commited, data e arquivos pode usar o seguinte comando, sendo o hashid o identificador do commit: ``` git show <hashid> ``` Para poder adicionar dados para um commit você pode usar o seguinte comando: ``` git add file.txt ``` Ou para remover: ``` git rm file.txt ``` Para enviar suas atualizações para um repositório remoto: ``` git push ``` Para listar todas as branchs existente iremos rodar o seguinte comando: ``` git branch -a ``` > Ao visualizar as branchs no git status, você verá em branco as branchs locais, em verde a branch atual e em vermelho as branchs de rastreamento. ![[git-branch-a.png.png]] Como você pode observar a minha branch local não possui uma branch de rastreamento, então caso você queira subir algo nessa branch terá um erro: ``` git push fatal: The current branch teste has no upstream branch. To push the current branch and set the remote as upstream, use git push --set-upstream origin teste To have this happen automatically for branches without a tracking upstream, see 'push.autoSetupRemote' in 'git help config'. ``` Para criar uma nova branch basta: ``` git branch <nome> ``` Caso precise depois modificar o nome: ``` git branch -m <oldname> <newname> ``` E por fim, caso seja necessário apagar uma branch: ``` git branch -d <name_branch> ``` Um comando rápido para criar uma nova branch e depois trocar para ela seria: ``` git switch -c minha-branch ``` ## Tags Para listar as tags: ``` git tag ``` Para criar uma nova tag anotada: ``` git tag -a "nome-tag" -m "comentario-tag" ``` Para poder apagar uma tag: ``` git tag -d "nome-Tat" ``` Também é possível tag automática basta rodar os seguintes comandos: ``` Para adicionar a configuração a **um repositório local específico**, acesse o repositório e execute: `git config --**local** push.followTags true` Para adicionar a configuração **a todos os repositórios do seu usuário corrente do sistema operacional** execute: `git config --**global** push.followTags true` Para adicionar a configuração **a todos os repositórios de todos os usuários do sistema operacional** execute: `git config --**system** push.followTags true` ``` ## Removendo conteúdo. Para desfazer de alterações de arquivos que já foram versionados anteriormente: ``` git restore --source <hash> nomedoarquivo ``` Para apagar arquivo ou se desfazer de algo que nunca foi versionado: ``` git clean <nomedoarquivo> ``` Você pode também fazer uma reversão apenas local de um commit: ``` git revert <hashid> ``` Como também é possível dar um reset (Removendo o commit localmente e remotamente): ``` git reset <hashid> ``` Para baixar as ultimas atualizações remotas para o repositório local, você pode usar o comando: ``` git fetch ``` A seguir você pode usar o comando git merge para para juntar as modificações remotas com as locais. ``` git merge origin/branch1 ```