Skip to content
Snippets Groups Projects
Commit b6bd924a authored by Walmes Marques Zeviani's avatar Walmes Marques Zeviani
Browse files

Revisa a seção sobre GitHub.

parent 76697458
No related branches found
No related tags found
No related merge requests found
...@@ -24,54 +24,56 @@ O objetivo é ... ...@@ -24,54 +24,56 @@ O objetivo é ...
![](./images/github-octocat.png) ![](./images/github-octocat.png)
O [GitHub] é um serviço Web para hospedagem, gestão e compartilhamento de O [GitHub] é um serviço Web para hospedagem, gestão e compartilhamento
repositórios Git que oferece recursos para desenvolvimento e de repositórios Git que oferece recursos para desenvolvimento e
colaboração. A principal slogam do GitHub é: "Build software better, colaboração. A principal slogam do GitHub é: *"Build software better,
together." Justamente enfatiza a o compromisso principal que é dar together."* que justamente enfatiza o compromisso principal que é dar
suporte a colaboração. suporte ao desenvolvimento colaborativo.
O GitHub foi fundado em 8 de Fevereiro de 2008, em São Francisco, por O GitHub foi fundado em 8 de Fevereiro de 2008, em São Francisco, por
quatro pessoas: Tom Preston-Werner, Chris Wanstrath, PJ Hyett e Scott quatro pessoas: Tom Preston-Werner, Chris Wanstrath, PJ Hyett e Scott
Chacon. Em 2015, o GitHub ultrapassou a marca de 10 milhões de usuários. Chacon. Antes de terminar 2015, o GitHub ultrapassou a marca de 10
milhões de usuários. De acordo com o <http://githut.info/>, no quarto
De acordo com o <http://githut.info/>, no quarto trimestre de 2014 trimestre de 2014 haviam 22 milhões de repositórios. A linguagem
haviam 22 milhões de repositórios. A linguagem `JavaScript` teve o maior `JavaScript` teve o maior número de repositórios ativos (>320 mil) e
número de repositórios ativos (>320 mil) e total de *pushes* enquanto total de *pushes* enquanto que a linguagem `R` foi a com maior número de
que a `R` foi a com maior número de novos cópias por repositório (6.45). novas cópias por repositório (6.45).
Diferente a forma tradicional de usar o Git, por linha de comando, que Diferente da forma tradicional de usar o Git, por linha de comando, que
fizemos até agora, o GitHub tem uma interface web (gráfica) repleta de fizemos até agora, o GitHub é um serviço web com interface gráfica
funções para o desenvolvimento e supervisão/acompanhamento de um projeto repleta de funções para o desenvolvimento e acompanhamento de um projeto
Git. Tais recursos vão desde administrar tarefas até a permitir a Git. Tais recursos vão desde administrar tarefas até a permitir a
colaboração de outras pessoas, até mesmo desconhecidos. Dentre os colaboração de outras pessoas, até mesmo desconhecidos. Dentre os
recursos disponíveis tem-se: principais recursos disponíveis, tem-se:
* README: é um arquivo texto escrito em liguagem de marcação * README: é um arquivo texto escrito em liguagem de marcação
renderizada para exibição (Markdown, RST, Textile, Org, etc). O (Markdown, RST, Textile, Org, etc) que é renderizada para
README é a capa do seu repositório, ou seja, o conteúdo apresentado exibição. O README é a capa do seu repositório, ou seja, o conteúdo
na *home* do projeto e serve para informar o leitor dos objetivos apresentado na *home* do projeto e serve para informar o visitante
repositório seu projeto, seus desenvolvedores e pode conter dos objetivos do repositório, seus desenvolvedores e pode conter
instruções de instalação e colaboração. instruções de instalação e colaboração.
* Wiki: a Wiki de cada repositório serve para divulgação e * Wiki: a Wiki de cada repositório serve para divulgação e
documentação. O serviço automaticamente converte de linguagem de documentação. Também é escrita em linguagem de marcação, tornando
marcação para HTML, tornando fácil a leitura e navegação. Como a fácil e rápido a escrita pelo desenvolvedor e simples a leitura e a
Wiki é também um repositório Git, ela pode inclive ser editada navegação pelo visitante. Como a Wiki é também um repositório Git,
dentro do prórpio GitHub, além de versionada, claro. Com isso, não ela pode inclusive ser editada por meios dos recursos de edição do
diferente do restante, a edição da Wiki também é colaborativa. prórpio GitHub, além de versionada, claro. Com isso, não diferente
do restante, a edição da Wiki também é colaborativa.
* *Issues*: Por *issues* é que se faz a correção de bugs e agendamento * *Issues*: Por *issues* é que se faz a correção de bugs e agendamento
de tarefas. Quando um usuário ou desenvolvedor cria um *issue* de tarefas. Usuários criam *issues* para notificar um bug encontrado
notificar um bug encontrado de forma que ele possa ser rapidamente de forma que ele possa ser rapidamente corrigido. Criar *issues*
corrigido. Criar *issues* também serve como ferramenta de também serve como ferramenta de admistração de tarefas nas quais os
admistração de tarefas nas quais os *issues* descrevem algo a ser *issues* descrevem algo a ser feito e por quem.
feito e por quem. * *Milestones*: são pedras de milha, ou seja, marcam um ponto a ser
* *Milestones*: são pedras de milha, ou seja, marcam uma distância alcançado. No GitHub, são usadas para descrever o que precisa ser
percorrida. No GitHub, descrever o que precisa ser desenvolvido para desenvolvido para que ocorra uma mundança de versão e estabalecer um
que ocorra uma mundança de versão e estabalecer um prazo para prazo para conclusão, por exemplo.
conclusão, por exemplo. * *Pull request* ou *merge request* (MR): é uma requisição de
* *Pull request* ou *merge request* (MR): é requisição de fusão. Os fusão. Os membros da equipe fazem suas contribuições em ramos de
membros da equipe fazer suas contribuições em ramos de desenvolvimento e ao concluir pedem um MR pela interface. O
desenvolvimento e ao concluir, pedem um MR pela interface. Nesta, o responsável por avaliar o MR pode ver os *diffs* nos arquivos e
responsável pode ver os *diffs* no arquivos e fazer o merge por fazer o merge direto pela interfaçe, de dentro do serviço sem
lá. Então não é preciso baixar o ramo, aplicar o merge e subí-lo. precisar baixar o ramo, aplicar o merge e subí-lo.
* *Fork*: é uma forma de se fazer uma cópia do projeto de alguém para * *Fork*: é uma forma de se fazer uma cópia do projeto de alguém para
livremente experimentar modificações sem afetar o projeto livremente experimentar modificações sem afetar o projeto
original. A cópia vem para a sua conta e funciona como qualquer original. A cópia vem para a sua conta e funciona como qualquer
...@@ -82,23 +84,27 @@ recursos disponíveis tem-se: ...@@ -82,23 +84,27 @@ recursos disponíveis tem-se:
De acordo com [Klint Finley], *fork* e MR são o que tornam o GitHub tão De acordo com [Klint Finley], *fork* e MR são o que tornam o GitHub tão
poderoso. Quando o mantenedor recebe um MR ele pode ver o perfil do poderoso. Quando o mantenedor recebe um MR ele pode ver o perfil do
contribuidor que lista todos os projetos no qual ele deu contribuidor onde estão listados todos os projetos no qual este deu
contribuição. Ao aceitar o MR, o colaborador acrescenta mais uma contribuição. Ao aceitar o MR, é acrescentado mais uma colaboração a
colaboração a sua reputação. Esse mecanísmo, então, beneficia as duas reputação do colaborador. Esse mecanísmo, então, beneficia as duas
partes. partes.
Além dessas características chaves, o GitHub permite que você acompanhe Além dessas características chaves, o GitHub permite que você acompanhe
(*watch*) e favorite (*star*) repositórios. Também dá para seguir (*watch*) e favorite (*star*) repositórios. Também dá para seguir
pessoas e participar de organizações (grupo de usuários) que podem ter pessoas e participar de organizações (grupo de usuários) que podem ter
repositórios, ideal para projetos em equipe. No perfil de cada usuário repositórios próprios, ideal para projetos em equipe. O perfil de cada
tem-se um registro das atividades e dentro de cada projeto pode-se usuário registra suas atividades e dentro de cada projeto pode-se
acompanhar as contribuições de cada colaborador. acompanhar as contribuições de cada colaborador. Em cada repositório
pode-se navegar pelo histórico de *commits*, filtrar por colaborador,
Em cada repositório pode-se navegar pelo histórico de commits, ver as ver as modificações no código (*diffs*) comaprando *commits* e
modificações no código (*diffs*) entre commits e branches. *branches*.
É possível hospedar dados, por exemplo, em formato texto (csv), e O GitHub não hospeda apenas código fonte mas sim todo e qualquer arquivo
disponibilizá-los por meio da URL para download. que você tenha sob versionamento. É possível hospedar dados, por
exemplo, em formato texto (csv), e disponibilizá-los por meio da URL
para download ou leitura direta. Para nós que somos usuários de R, essa
é uma característica que permite não só disponibilizar dados, mas também
coleções de funções que podem ser carregadas com um `source()`.
Com o plano *free* do GitHub, você pode ter inúmeros repositórios Com o plano *free* do GitHub, você pode ter inúmeros repositórios
públicos e inúmeros colaboradores, pode ter o *fork* de quantos públicos e inúmeros colaboradores, pode ter o *fork* de quantos
...@@ -106,25 +112,25 @@ repositórios quiser e participar de quantas organizações precisar. Para ...@@ -106,25 +112,25 @@ repositórios quiser e participar de quantas organizações precisar. Para
ter repositórios privados, o plano mais básico custa U$ 7 e dá direito a ter repositórios privados, o plano mais básico custa U$ 7 e dá direito a
5 repositórios. Existem outros planos individuais, e também planos 5 repositórios. Existem outros planos individuais, e também planos
organizacionais, para todos os tamanhos de projeto e equipe. Além dessas organizacionais, para todos os tamanhos de projeto e equipe. Além dessas
formas, pode-se ter o GitHub em um servidor próprio, o GitHub formas, pode-se ter o GitHub em um servidor próprio, o
Interprise, que tem vantagens além das já mencionadas, no entanto, tal [GitHub Interprise], que tem vantagens além das já mencionadas, no
com qualquer plano não público, tem seu custo (ou investimento). entanto, tal como qualquer plano privado, tem seu custo.
É uma fonte de conhecimento onde você encontra *scripts* nas mais É uma fonte de conhecimento onde você encontra *scripts* nas mais
diferentes linguagens de programação. Você pode livremente estudar o diferentes linguagens de programação. Você pode livremente estudar o
código dos repositórios, ver como o código evoluiu *commit* após código dos repositórios, ver como o código evoluiu *commit* após
*commit* e como um *bug* foi resolvido. Qualquer pessoa, mesmo sem *commit* e como um *bug* foi resolvido. Qualquer pessoa, mesmo sem
perfil no GitHub, pode clonar um repositório público (pelo protocolo perfil no GitHub, pode clonar um repositório público. O GitHub reconhece
*http*). A GitHub reconhece 382 linguagens que compreendem as de 382 linguagens que compreendem as de programação (293: C++, Python, R,
programação (293: C++, Python, R, JavaScript), as de *markup* (34: HTML, JavaScript), as de *markup* (34: HTML, TeX, MarkDown), as de dados (40:
TeX, MarkDown), de dados (40: JSON, SQL, XML, csv) e aplica os destaques JSON, SQL, XML, csv) e aplica os realces (highlights) que facilitam a
(highlights) para cada linguagem, o que facilita a leitura do código. leitura do código.
O GitHub é serviço web para Git mais popular quanto ao número de O GitHub é o serviço web para Git mais popular quanto ao número de
projetos hospedados. No entanto, existem serviços com as mesmas e até projetos hospedados. No entanto, existem serviços com as mesmas e até
com funcionalidades que o GiHub não oferece. O GitLab e o Bitbucket com funcionalidades que o GiHub não oferece no plano básico. O GitLab e
estão entre os 5 mais populares e permitem, por exemplo, ter alguns o Bitbucket estão entre os 5 mais populares e permitem, por exemplo, ter
repositórios privados com a conta *free*. alguns repositórios privados com a conta *free*.
### GitLab ### ### GitLab ###
...@@ -209,3 +215,4 @@ funcionando/instalando sem erros. ...@@ -209,3 +215,4 @@ funcionando/instalando sem erros.
[Klint Finley]: http://techcrunch.com/2012/07/14/what-exactly-is-github-anyway/ [Klint Finley]: http://techcrunch.com/2012/07/14/what-exactly-is-github-anyway/
[GitLab]: https://about.gitlab.com/ [GitLab]: https://about.gitlab.com/
[GitHub]: https://github.com/ [GitHub]: https://github.com/
[GitHub Interprise]: https://enterprise.github.com
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment