N|Solid (opens new window)

# Conceitos

# Git

Git pronunciado [git] é um sistema de controle de versão distribuído e um sistema de gerenciamento de código fonte, com ênfase em velocidade. O Git foi inicialmente projetado e desenvolvido por Linus Torvalds para o desenvolvimento do kernel Linux, mas foi adotado por muitos outros projetos.

Cada diretório de trabalho do Git é um repositório com um histórico completo e habilidade total de acompanhamento das revisões, não dependente de acesso a uma rede ou a um servidor central.

# Bitbucket

É um serviço de hospedagem de projetos controlados através do Mercurial1 , um sistema de controle de versões distribuído. É similar ao GitHub (que utiliza Git, somente).

# Branches

Um branch no Git é simplesmente um leve ponteiro móvel para um commit. O nome do branch padrão no Git é master. Como você inicialmente fez commits, você tem um branch principal (master branch) que aponta para o último commit que você fez. Cada vez que você faz um commit ele avança automaticamente.

# Repositório do SNEP 3

# Os branches principais

Branch Conceito
master É onde está o código final, liberado para o usuário final. Neste repositório não é feita/postada nenhuma alteração, com exceção de hotfixes.
develop Tem origem no master.
Conceito: é onde está a base do código para a próxima versão e/ou release. As features são sempre baseadas neste código. Quando o código fonte do develop se tornar estável e estiver pronto para ser liberado, todas as mudanças são merged com o master e então um novo número de versão ou release é criado.

# Os branches de apoio

Branch Conceito
hotfixes Tem origem no: master.
Faz merge em: developer e master.
A convenção de nome é: hotfix_* .
Conceito: é onde está o código do manter, mas que precisa de pequenos ajustes, como por exemplo uma correção gramatical.
release branches Tem origem no : developer.
Faz merge em: developer e master
A convenção de nome é: release_*
Conceito: é a etapa final antes de liberar uma versão de produção. É onde são feitos os ajustes finos da versão, como por exemplo a atualização dos arquivos descritores de módulo ou do core do SNEP.
feature branches Tem origem no: develop
Faz merge em: develop.
A convenção de nome é: feature-TDS-*
Conceito: É onde são desenvolvidas novas features. Estes repositórios existem basicamente no repositório do desenvolvedor.

# O Wiki (documentação)

O Wiki do repositório existe para que toda a documentação esteja padronizada e disponível para contribuições e ajustes. Para contribuir com a documentação, acesse o Wiki do repositório.

N|Solid

# Utilizando o repositório do SNEP

# 1º Passo : Acesso ao repositório do SNEP no Bitbucket

  • Crie, caso não possua, seu login no Bitbucket: https://bitbucket.org/account/signin/?next=/

  • Para contribuir com o Projeto você precisará essencialmente:

    • Fazer uma "cópia" do Projeto em sua máquina local. Esta "cópia" pode ser um fork ou um clone. A diferença entre eles basicamente são permissões de acesso. Em qualquer um deles você conseguirá contribuir.
    • Depois de feito suas correções, você deve fazer uma requisição de envio, Pull Request, que será avaliada pelo time de desenvolvimento e poderá ser: aprovada, comentada ou rejeitada.

# 2º Passo : Realizando o Fork do repositório Snep

  • Faça login no Bitbucket (https://bitbucket.org)
  • No canto superior direito da tela, há um campo de pesquisa
    • Faça uma busca por "snepdev/snep-3"
  • Acesse o repositório encontrado
  • No canto esquerdo selecione a opção 'Fork'
    • Caso sua conta é membro de algum team no Bitbucket, a página irá conter um campo Proprietário. Já se você não pertencer a nenhum team, não haverá o campo Proprietário
  • Mude o campo Nome, por exemplo, para Snep-Fork
  • Adicione uma descrição apropriada
  • Clique em 'Fork repository'

# 3º Passo - Clonando o Fork em um diretório local

# Linux / Mac OS

Se quiser participar do projeto , para poder clonar o seu Fork para um diretório local é necessário possuir uma chave SSH vinculada a sua conta no Bitbucket, caso já possua avance para o passo 13.

Se quiser somente baixar os fontes, vá para o passo 13.

  • Acesse o terminal da sua máquina
  • Crie uma chave SSH
  • Digite no terminal o comando "ssh-keygen -t dsa"
  • O console irá perguntar aonde você gostaria de salvar sua chave, por padrão fica localizada em '~/.ssh/'
  • Digite uma senha para ser criptografada
  • Digite novamente a senha para a criação de sua chave SSH
  • Vá até o diretório onde sua chave foi gravada, por padrão o comando é 'cd ~/.ssh/'
  • De o comando 'cat id_dsa.pub' e copie o conteúdo do arquivo
  • Acesse a página do seu repositório
  • No canto superior direito clique no seu usuário e selecione "Manage account"
  • Selecione no canto esquerdo a opção SSH keys, aparece uma tela aonde será cadastrado suas chaves SSH
  • Clique em "Add key" e preencha o campo "Label" com uma descrição da sua chave e no campo "Key" cole as informações copiadas do arquivo "id_rsa.pub", clique no botão "Add key" para confirmar
  • Volte para a página do seu repositório e clique no botão/menu 'Actions' no lado esquerdo da tela
  • Selecione a opção "Clone" e copie o comando exibido na tela Caso não possui o git instalado em sua máquina, instale-o utilizando o seu gerenciador de pacotes
  • Acesse o diretório que você deseja fazer o clone e cole o comando copiado

# Windows

  • Instale o aplicativo TortoiseHG Workbench, o download da aplicação pode ser feito em http://tortoisehg.bitbucket.org/.
  • Abra o aplicativo.
  • Selecione View > Show Repository Registry.
  • Selecione File > Clone Repository.
  • No campo Source entre com a URL do repositório que será feito o Fork.
  • Em Destination informe o endereço no seu sistema aonde o repositório local ficará gravado.
  • Pressione Clone para finalizar.

# 4º Passo - Realizando um Pull Request

Caso você queira colaborar com o desenvolvimento do Snep, enviando alguma correção, alteração ou melhoria será necessário realizar um Pull Request.

  • Clique no botão 'Actions' e selecione a opção 'Create a Pull Request'
  • Na caixa à esquerda selecione branch onde estão as suas alterações
  • Na caixa à direita selecione o repositório (snepdev/snep-3) e o branch destinado ao Pull Request (develop)
  • Preencha os outros campos do formulário (quanto mais informações, mais rápida e clara será a liberação do pull request)
  • Finalize clicando no botão 'Create pull request'
  • Será enviado para a equipe de desenvolvimento do SNEP uma solicitação contendo sua request. Esta request poderá ser aprovada ou não. Em caso de aprovação ela fará parte das próximas versões.
    • Você receberá um email informando se sua request foi aprovada ou não.

N|Solid

# Vinculando uma Issue à um Commit

As Issues, Tickets do SNEP ficam no próprio repositório do BitBucket (opens new window).

Quando você estiver trabalhando em um Commit que está relacionado à um Ticket destes você pode fechá-lo automaticamente ou fazer qualquer outra ação nela através do próprio commit.

Para isso siga este passo à passo (opens new window).