# Dúvidas básicas de repositório e boas práticas

**URL:** <https://forum.casadocodigo.com.br/t/duvidas-basicas-de-repositorio-e-boas-praticas/352>\
**Category:** Livros\
**Tags:** git-github\
**Created:** [Novembro 9, 2016, 11:35pm UTC](https://forum.casadocodigo.com.br/t/duvidas-basicas-de-repositorio-e-boas-praticas/352 "2016-11-09T23:35:31Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![IvanSilva](https://avatars.discourse-cdn.com/v4/letter/i/977dab/32.png) [@IvanSilva](https://forum.casadocodigo.com.br/u/IvanSilva)\
**Post date:** [Novembro 9, 2016, 11:35pm UTC](https://forum.casadocodigo.com.br/t/duvidas-basicas-de-repositorio-e-boas-praticas/352/1 "2016-11-09T23:35:31Z")

</div>

Boa noite,

Lendo o livro, comecei a pensar em opções de criação de nomes de repositórios… Por exemplo:

Se eu desenvolvo para uma empresa e quero começar a utilizar o GitHub com os projetos e também quero armazenar projetos pessoais também, como seria o nome do repositório ?

Dúvida 01: O nome do repositório seria “Nome da empresa - nome do sistema” ? E se depois desenvolver algum outro, seria “nome da empresa - nome do outro sistema”?

dúvida 02: Se a empresa desenvolve em duas linguagem, como por exemplo C# e Java, ou qualquer outra, o nome dos repositórios poderia ser “nome da empresa - linguagem - nome do sistema”?

Entendo que não se pode criar sub repositórios, correto?

Mas no computador onde é desenvolvido, se for em java, o workspace seria algo como "workspace\nome da empresa\nome do sistema.

dúvida 03: Na hora de clonar em algum computador, o git criaria a pasta com o nome que está no GitHub ou no apenas faria o clone na pasta que eu indicar, independente de ser o mesmo nome ou não?

tem alguma “regra” ou boa prática ?

---

<div class="post-metadata">

**Author:** ![alexandre.aquiles](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.casadocodigo.com.br/alexandre.aquiles/32/14791_2.png) [@alexandre.aquiles](https://forum.casadocodigo.com.br/u/alexandre.aquiles)\
**Post date:** [Novembro 10, 2016, 5:01pm UTC](https://forum.casadocodigo.com.br/t/duvidas-basicas-de-repositorio-e-boas-praticas/352/2 "2016-11-10T17:01:32Z")

</div>

Olá, Ivan.

Vou relatar o que vejo as pessoas e equipes fazendo na prática.

> Se eu desenvolvo para uma empresa e quero começar a utilizar o GitHub com os projetos e também quero armazenar projetos pessoais também, como seria o nome do repositório ?

Você criaria um usuário no GitHub.

Seus projetos pessoais ficariam em repositórios desse usuário.

Você ou outra pessoa da sua empresa criariam um _Organization_ no GitHub. Uma _organization_ pode ter diferentes repositórios e vários usuários associado a organização.

Quanto ao nome dos repositórios, em geral, colocamos o nome do projeto. P. ex., a _organization_ Caelum tem repositórios como: gnarus, caelumsite, mamute, vraptor4, caelum-stella, tubaina2. Cada um desses repositórios é o nome de um projeto diferente, seja uma app, um framework ou uma ferramenta.

> Dúvida 01: O nome do repositório seria “Nome da empresa - nome do sistema” ? E se depois desenvolver algum outro, seria “nome da empresa - nome do outro sistema”?

Conforme exemplificado acima, cada repositório tem apenas o nome do sistema. O nome da empresa fica na _organization_.

> dúvida 02: Se a empresa desenvolve em duas linguagem, como por exemplo C# e Java, ou qualquer outra, o nome dos repositórios poderia ser “nome da empresa - linguagem - nome do sistema”?

O nome da linguagem é um detalhe. E, na verdade, um sistema tem várias linguagens. P. ex., um sistema web dos mais simples vai ter linguagens de programação como Java e JavaScript, linguagens de marcação como XML e linguagens específicas como SQL, etc… Há sistemas mais complexos feitos em várias linguagens como Groovy, Scala, Java, etc…

Por isso, **não** coloque o nome da linguagem no nome do repositório.

> Entendo que não se pode criar sub repositórios, correto?

A princípio, não é possível criar sub repositórios. Você poderia criar pastas dentro do repositório, mas não é recomendado. O Git foi pensado para ter vários repositórios pequenos: como é um sistema de controle de versão distribuído, toda máquina tem uma cópia completa do repositório.

Até há uma ferramenta chamada [submódulos](https://git-scm.com/book/en/v2/Git-Tools-Submodules), mas é algo bastante avançado.

> dúvida 03: Na hora de clonar em algum computador, o git criaria a pasta com o nome que está no GitHub ou no apenas faria o clone na pasta que eu indicar, independente de ser o mesmo nome ou não?

O Git cria por padrão uma pasta com o nome do repositório do GitHub.

Porém, se você quiser alterar o nome da pasta ao fazer o clone, você pode passar o nome da pasta de destino na frente. Exemplo:

```auto
git clone git@github.com:caelum/tubaina2.git outro-nome

```

> tem alguma “regra” ou boa prática ?

Em nenhuma equipe houve discussão sobre as práticas nesse ponto. Em geral, usamos o senso comum, que descrevi acima.
