Controle de versão

Nessa seção você encontrará as instruções necessárias para configurar o versionamento de código do seu projeto.

Git

Git é uma ferramenta linha de comando para controle de versão de código.

Para instalar o Git no Windows, acesse o site oficial do Git e siga as instruções de instalação.

Para validar a instalação do Git, abra o Terminal e digite:

$ git --version
git version 2.14.1

Se a instalação estiver correta, o comando irá apresentar a versão instalada no seu sistema operacional. No meu caso, a versão é a 2.14.1.

.gitattributes

O arquivo .gitattributes é o responsável pela configuração dos atributos dos diretórios no Git. Esse arquivo deve ser criado na raíz do projeto.

* text=auto eol=lf

Resumo das configurações

  • * text=auto eol=lf

Configura o Git para tratar tudo como texto de forma automática e quebrar a linha com o caractere LF (Line Feed).

Binários

Caso o projeto contenha arquivos que não possam ser tratados como texto, é necessário configurar explicitamente. Isso ocorre com imagens e fontes, por exemplo.

# imagens
*.bmp binary
*.gif binary
*.ico binary
*.jpeg binary
*.jpg binary
*.png binary
*.svg binary
*.tif binary
*.tiff binary

# fontes
*.eot binary
*.otf binary
*.ttf binary
*.woff binary
*.woff2 binary

.gitignore

O arquivo .gitignore é o responsável por instruir ao Git quais arquivos ou diretórios devem ser ignorados, ou seja, não devem ser versionados. Esse arquivo deve ser criado na raíz do projeto.

# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*

# Runtime data
pids
*.pid
*.seed
*.pid.lock

# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov

# Coverage directory used by tools like istanbul
coverage

# nyc test coverage
.nyc_output

# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt

# Bower dependency directory (https://bower.io/)
bower_components

# node-waf configuration
.lock-wscript

# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release

# Dependency directories
node_modules/
jspm_packages/

# TypeScript v1 declaration files
typings/

# Optional npm cache directory
.npm

# Optional eslint cache
.eslintcache

# Optional REPL history
.node_repl_history

# Output of 'npm pack'
*.tgz

# Yarn Integrity file
.yarn-integrity

# dotenv environment variables file
.env
.env.test

# parcel-bundler cache (https://parceljs.org/)
.cache

# next.js build output
.next

# nuxt.js build output
.nuxt

# vuepress build output
.vuepress/dist

# Serverless directories
.serverless/

# FuseBox cache
.fusebox/

# DynamoDB Local files
.dynamodb/

Dica

Esse é o arquivo padrão utilizado pela maioria dos projetos desenvolvidos para Node.js. 😉

Iniciando o repositório local

Para inicializar um novo repositório local, abra seu Terminal e digite:

$ git init

Para adicionar os arquivos ao índice do próximo commit, abra seu Terminal e digite:

$ git add .

Para realizar o commit dos arquivos, abra seu Terminal e digite:

$ git commit -m "commit inicial"

Integração com o repositório remoto

Para integrar o repositório local com o repositório remoto, digite:

$ git remote add origin https://github.com/robertoachar/hello-node.git

Para enviar as alterações locais para o repositório remoto, digite:

$ git push -u origin master