Git Study Notes
Minhas notas de estudos sobre Git até o momento.
Guia de comandos básicos do git:
Instalação
- Instale o git pelo site original git-scm.com veja o guia de instalação para linux, mac e windows
Configuração Inicial
Usando o terminal (linux e mac) ou o Gitbash (windows)
-
git config
para configure seu git:git config --global user.name "Your Name Comes Here"
git config --global user.email you@yourdomain.example.com
-
Crie a SSH Key
ssh-keygen -t ed25519 -C "your e-mail or comment here"
Dica:
-
Aperte enter quando pedir para escolher o diretório, pois asimm será direcionado para o diretório padrão; caso não queira digitar uma senha, basta clicar enter duas vezes
-
Procure pela pasta oculta ".ssh" (geralmente está na home/pasta do usuário padrão)
-> Abra o arquivo 'id_rsa.pub' com o bloco de nota ou outro editor de texto semelhante -> Copie o conteúdo interno do arquivo.
-
-
Adicionadando sua SSH Key no Github, Gitlab ou em outra plataforma
- Vá em configurações e na barra lateral procure pela opção "SSH and GPG keys"
- Procure a opção "Nova SSH key" ( "New SSH key" )
- Dê um título pra chave
-> no campo 'key'cole o conteúdo que foi copiado do arquivo 'id_rsa.pub' -> clique em adicionar chave SSH ("add SSH key")
-
Teste sua SSH Key (de acordo com o serve do seu cliente git)
ssh -T git@gitlab.com (no caso do client GitLab)
ssh -T git@github.com (no caso do client GitHub)
Comandos Para Inicio de Projeto
-
Para iniciar um projeto do zero
- crie uma pasta
- Abra ela pelo terminal e digite:
$git init
-
Para subir um repositório local para o teu server no GitHub
git remote add origin git@github.com:nomedeusuarioGitHub/nomedorespositorio.git
git push -u origin master
-
Para clonar, ou seja, começar a partir de um projeto já existente
$git clone /caminho/para/o/repositório
- Para clonar de um servidor
$git clone usuário@servidor:/caminho/para/o/repositório
Comandos Funcionais básicos
-
Para baixar as últimas atualizações do projeto
$git pull
-
Verificar se há alterações no git para ser commitadas (enviadas para o server)
$ git status
-
Adicionar uma alteração para commitar
$ git add 'nome da aplicação'
- para adicionar todas as alterações
$git add *
-
Adicionando o comentário referente ao commit
$ git commit -m "Comentário a ser enviado"
-
Publicar as alterações
$ git push
Links de documentação e outros
Sites de documentação, guias e tutorial recomendados sobre o Git:
- https://git-scm.com/docs
- https://docs.gitlab.com/ee/gitlab-basics/README.html#gitlab-basics
- https://docs.gitlab.com/ee/gitlab-basics/create-your-ssh-keys.html
- https://rogerdudler.github.io/git-guide/index.pt_BR.html-keys.html
- https://rogerdudler.github.io/git-guide/index.pt_BR.html
Git Ignore
Use the universal one-liner in terminal in the project directory:
touch .gitignore && echo "node_modules/" >> .gitignore && git rm -r --cached node_modules git status
It works no matter if you've created a .gitignore
or not, no matter if you've added node_modules
to git tracking
or not.
Then commit and push the .gitignore
changes.
-
Explanation
Touch will generate the
.gitignore
file if it doesn't already exist.echo and >>
will appendnode_modules
/ at the end of .gitignore, causing thenode_modules
folder and all subfolders to be ignored.git rm -r --cached removes the
node_modules
folder from git control if it was added before. Otherwise, this will show a warning pathspec 'node_modules
' did not match any files, which has no side effects and you can safely ignore. The flags cause the removal to be recursive and include the cache.git status
displays the new changes. A change to.gitignore
will appear, whilenode_modules
will not appear as it is no longer being tracked by git.