Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
apostila-git
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Deploy
Releases
Harbor Registry
Model registry
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
pet-estatistica
apostila-git
Commits
79fcb826
Commit
79fcb826
authored
9 years ago
by
Walmes Marques Zeviani
Browse files
Options
Downloads
Patches
Plain Diff
Concluí revisão do GitHub e GitLab.
parent
c31a7652
No related branches found
No related tags found
1 merge request
!51
Issue#24
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
cap05.Rmd
+137
-127
137 additions, 127 deletions
cap05.Rmd
with
137 additions
and
127 deletions
cap05.Rmd
+
137
−
127
View file @
79fcb826
...
...
@@ -51,179 +51,196 @@ voltados à colaboração.
## GitHub ##
\begin{wrapfigure}{r}{0.4\textwidth}
O GitHub\footnote{\url{https://github.com/}} é um serviço web para
hospedagem, gestão e compartilhamento de repositórios Git que oferece
recursos para desenvolvimento e colaboração. *"Build software better,
together."* é o principal slogam do GitHub, justamente para enfatizar o
seu principal compromisso: dar suporte ao desenvolvimento colaborativo.
<!-- \begin{wrapfigure}{r}{0.4\textwidth} -->
\begin{figure}[h]
\begin{center}
\includegraphics[width=5cm]{./images/github-octocat.png}
\end{center}
\caption{Octocat é o mascote do GitHub.}
\end{wrapfigure}
O [GitHub] é um serviço Web para hospedagem, gestão e compartilhamento
de repositórios Git que oferece recursos para desenvolvimento e
colaboração. O principal slogam do GitHub é: *"Build software better,
together."* que justamente enfatiza o principal compromisso que é dar
suporte ao desenvolvimento colaborativo.
\end{figure}
<!-- \end{wrapfigure} -->
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
Chacon. Antes de terminar 2015, o GitHub já ultrapasso
u
a marca
de 10
milhões de usuários. De acordo com o <http://githut.info/>, no
quarto
trimestre de 2014 haviam 22 milhões de repositórios. A linguagem
Chacon. Antes de terminar 2015, o GitHub já
havia
ultrapass
ad
o a marca
de 10
milhões de usuários. De acordo com o <http://githut.info/>, no
quarto
trimestre de 2014 haviam 22 milhões de repositórios. A linguagem
`JavaScript` teve o maior número de repositórios ativos (>320 mil) e
total de *pushes* enquanto que a linguagem `R`
foi a com
maior número de
total de *pushes*
,
enquanto que a linguagem `R`
teve o
maior número de
novas cópias por repositório (6.45).
Diferente da forma tradicional de usar o Git por linha de comando, o
GitHub
é um serviço web com interface gráfica repleta de funções para o
Diferente da forma tradicional de usar o Git
,
por linha de comando, o
GitHub
é um serviço web com interface gráfica repleta de funções para o
desenvolvimento e acompanhamento de um projeto Git. Tais recursos vão
desde administrar tarefas até permitir a colaboração de outras pessoas,
mesmo sendo desconhecidos. Dentre os principais recursos disponíveis,
tem-se:
* README: é um arquivo texto escrito em liguagem de marcação
(Markdown, RST, Textile, Org, etc) no qual é renderizada para
exibição. O README é a capa do seu repositório, ou seja, o conteúdo
apresentado na *home* do projeto e serve para informar o visitante
dos objetivos do repositório, seus desenvolvedores e pode conter
instruções de instalação e colaboração.
* Wiki: a Wiki de cada repositório serve para divulgação e
documentação. Também é escrita em linguagem de marcação, tornando
fácil e rápido a escrita pelo desenvolvedor e simples a leitura e a
navegação pelo visitante. Como a Wiki é um repositório Git,
ela pode inclusive ser editada por meios dos recursos de edição do
próprio GitHub, além de ser versionada. Com isso, não diferente
do restante, a edição da Wiki também é colaborativa.
* *Issues*: Pelos *issues* é que se faz a correção de bugs e agendamento
de tarefas. Os usuários criam *issues* para notificar um bug encontrado
de forma que ele possa ser rapidamente corrigido. Criar *issues*
também serve como ferramenta de admistração de tarefas nas quais os
*issues* descrevem algo a ser feito e por quem.
mesmo sendo desconhecidas. Dentre os principais recursos disponíveis,
têm-se:
* README: é um arquivo que funciona como capa do seu repositório. O
seu conteúdo é texto escrito em liguagem de marcação (Markdown, RST,
Textile, Org, etc) renderizada para exibição pelo GitHub. Como capa,
o conteúdo do README está na *home* do projeto e serve para informar
o visitante dos objetivos do repositório, seus desenvolvedores,
instruções de instalação/uso e formas de colaboração.
* Wiki: a Wiki de cada repositório são um conjunto de páginas que
serve para divulgação e documentação do repositório. Estas também
são escritas em linguagem de marcação, tornando fácil e rápida a
escrita pelo desenvolvedor e simples para o visitante ler e
navegar. Como a Wiki é também um repositório Git, ela pode inclusive
ser editada por meios dos recursos de edição do próprio GitHub, além
de ser versionada. Com isso, não diferente do restante, a edição da
Wiki também é colaborativa.
* *Issues*: pelos *issues* são feitas as notificações de *bug* e
gerenciamento de tarefas. Os usuários criam *issues* para notificar
um *bug* encontrado de forma que ele possa ser rapidamente
corrigido. Criar *issues* também serve como ferramenta de
admistração de tarefas nas quais os *issues* descrevem algo a ser
feito par alguém.
* *Milestones*: são pedras de milha, ou seja, marcam um ponto a ser
alcançado. No GitHub, são usadas para descrever o que precisa ser
desenvolvido para que ocorra uma mundança de versão e estabalecer um
prazo para conclusão, por exemplo.
alcançado. São usadas para descrever o que precisa ser desenvolvido
para que ocorra uma mundança de versão e estabalecer um prazo para
conclusão, por exemplo. As *milestones* agrupam *issues* que indicam
as etapas a serem percorridas.
* *Pull request* ou *merge request* (MR): é uma requisição de
fusão. Os membros da equipe fazem 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. O
responsável por avaliar o MR pode ver os *diffs* nos arquivos e
fazer o merge direto pela interface, de dentro do serviço sem
precisar baixar o ramo, aplicar o merge e subí-lo.
precisar baixar (*fetch*) o ramo, aplicar o merge (*merge*) e
subí-lo (*push*). Então os desenvolvedores não precisam interromper
o trabalho local para fazer um merge já que ele pode ser feito no
serviço sem modificações para o *workspace*.
* *Fork*: é uma forma de se fazer uma cópia do projeto de alguém para
livremente experimentar modificações sem afetar o projeto
original. A cópia vem para a sua conta e funciona como qualquer
outro repositório seu. A ideia do *fork* é dar liberdade de
contribuição (não supervisionada) a qualquer pessoa interessada de
modo que esta possa submeter as contribuições para a origem (por MR)
ou até mesmo usar como ponto de partida para um projeto.
ou até mesmo usar como ponto de partida para um
novo
projeto.
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
contribuidor onde estão listados todos os projetos no qual este
contribuiu. Ao aceitar o MR, é acrescentado mais uma colaboração a
reputação do colaborador. Esse mecanísmo, então, beneficia as duas
partes.
De acordo com
Klint~Finley\footnote{\url{http://techcrunch.com/2012/07/14/what-exactly-is-github-anyway/}},
*fork* e MR são os recursos que tornam o GitHub tão poderoso. Quando o
mantenedor recebe um MR ele pode ver o perfil do contribuidor onde estão
listados todos os projetos no qual este contribuiu. Ao aceitar o MR, é
acrescentado mais uma colaboração a reputação do colaborador. Esse
mecanísmo, então, beneficia as duas partes.
Além dessas características chaves, o GitHub permite que você acompanhe
(*watch*) e favorite (*star*) repositórios. Também dá para seguir
pessoas e participar de organizações (grupo de usuários) que podem ter
repositórios próprios, ideal para projetos em equipe. O perfil de cada
usuário registra suas atividades e dentro de cada projeto pode-se
acompanhar as contribuições de cada colaborador. Em cada repositório
pode-se navegar pelo histórico de *commits*, filtrar por colaborador,
ver as modificações no código (*diffs*) comaprando *commits* e
*branches*.
repositórios próprios, ideal para projetos em equipe.
O perfil de cada usuário registra suas atividades em todos os projetos e
em cada projeto pode-se acompanhar as contribuições de cada
colaborador. Nos repositórios pode-se navegar pelo histórico de
*commits*, filtrá-los por colaborador, ver as modificações no código
(*diffs*) comparando *commits* e *branches*.
O GitHub não hospeda apenas código fonte mas sim todo e qualquer arquivo
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 usuários de R, essa é uma
exemplo, em formato texto (csv
, txt
), e disponibilizá-los por meio da
URL
para download ou leitura direta. Para usuários de R, essa é uma
característica que permite não apenas 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
públicos
e
inúmeros colaboradores,
pode
ter o *fork* de quantos
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
5
repositórios. Existem outros planos individuais, e também planos
públicos
,
inúmeros colaboradores, ter o *fork* de quantos
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
à 5
repositórios. Existem outros planos individuais, e também planos
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 Interprise], que tem suas vantagens além das já mencionadas, e
terá seu custo como qualquer plano privado.
É uma fonte de conhecimento onde você encontra *scripts* nas mais
diferentes linguagens de programação. Você pode livremente estudar o
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
perfil no GitHub, pode clonar um repositório público. O GitHub reconhece
382 linguagens que compreendem as de programação (293: C++, Python, R,
JavaScript), as de *markup* (34: HTML, TeX, MarkDown), as de dados (40:
JSON, SQL, XML, csv) e aplica os realces (highlights) que facilitam a
leitura do código.
opções, pode-se ter o GitHub em um servidor próprio, o GitHub
Interprise\footnote{\url{https://enterprise.github.com}}, com
recursos e vantagens além das já mencionadas
Para muitos programadores, o GitHub é uma fonte de conhecimento. Lá você
encontra *scripts* de todas as linguagens de programação. Você pode
livremente estudar o código dos repositórios, ver como o código evoluiu
*commit* após *commit* e acompanhar como um *bug* foi
resolvido.
Qualquer pessoa, mesmo sem perfil no GitHub, pode clonar um repositório
público. O GitHub reconhece 382 linguagens que compreendem as de
programação (293: C++, Python, R, JavaScript), as de *markup* (34: HTML,
TeX, MarkDown), as de dados (40: JSON, SQL, XML, csv) e aplica os
realces de código (highlights) que facilitam a sua compreensão.
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
funcionalidades e até com outras que o GiHub não oferece no plano básico.
O GitLab e o Bitbucket estão entre os 5 mais populares e permitem,
por exemplo, ter alguns repositórios privados com a conta *free*.
funcionalidades e até com algumas que o GitHub não oferece no plano
básico. O GitLab e o Bitbucket estão entre os 5 mais populares e
permitem, por exemplo, ter alguns repositórios privados com a conta
*free*.
Como hopedamos nossos projetos coletivos do PET-Estatística no GitLab do
C3SL\footnote{\url{https://gitlab.c3sl.ufpr.br/explore}}, não podemos
deixar de falar sobre ele.
## GitLab ##
\begin{wrapfigure}{r}{0.4\textwidth}
O GitLab\footnote{\url{https://about.gitlab.com/}}, assim como o GitHub,
é um serviço web para repositórios Git. O GitLab é um projeto *open
source* desenvolvido em Ruby que teve início em 2011 pelo ucrâniano
Dmitriy Zaporozhets. Em 2013, a Companhia GitLab tinha uma equipe de 11
funcionios e mais de 10 mil organizações usando o serviço.
<!-- \begin{wrapfigure}{r}{0.4\textwidth} -->
\begin{figure}[h]
\begin{center}
\includegraphics[width=5cm]{./images/gitlab-raccoon.jpg}
\end{center}
\caption{O guaxinim (*raccoon* em inglês) é o macote do GitLab.}
\end{wrapfigure}
Assim como o GitHub, o [GitLab] é um serviço Web para repositórios
Git. O GitLab é um projeto *open source* desenvolvido em Ruby que deu
início em 2011 pelo ucrâniano Dmitriy Zaporozhets. Em 2013, a Companhia
GitLab tinha 11 membros e mais de 10 mil organizações.
\end{figure}
<!-- \end{wrapfigure} -->
O GitLab, além de ser um serviço gratuito (com planos extras)
colaboração, é também um programa que você pode instalar em servidor
local para ter seus repositórios na intraweb
, se for o caso.
Como serviço web, o GitLab oferece basicamente todos os recursos do
Git
Hub e do BitBucket [^1]. No entanto, com uma conta gratuita n
o
<http://gitlab.com> você pode ter, os repositórios públicos e
colaboradores, ilimitados repositórios privados sem pagar por nada. Isso
faz do GitLab.com o lugar certo para pequenas equipes com pouco recurso
ou que desenvolvem trabalhos sem fins lucrativos,
como
é o caso de
colaboração em código para análise de dados para publicação científica.
Atualmente existem mais de 69 mil projetos
públicos e 5840 grupos
abertos no GitLab.com (https://gitlab.com/explore)
A versão paga do GitLab,
a
*Enterprise Edition* (EE), tem um preço
local para ter seus repositórios na intraweb
. Esse é o caso do GitLab do
C3SL e do GitLab do LEG\footnote{\url{http://git.leg.ufpr.br/explore}}.
O
Git
Lab oferece todos os recursos d
o
GitHub\footnote{\url{http://technologyconversations.com/2015/10/16/github-vs-gitlabs-vs-bitbucket-server-formerly-stash}}. No
entanto, com uma conta gratuita no <http://gitlab.com>, você pode ter
além de repositórios públicos e colaboradores, ilimitados repositórios
privados sem pagar por nada. Isso faz do GitLab.
com
o
lugar certo para
pequenas equipes com pouco recurso ou que desenvolvem trabalhos sem fins
lucrativos, como é o caso de colaboração em código para análise de dados
para publicação científica.
Atualmente existem mais de 69 mil projetos
públicos e 5840 grupos abertos no GitLab.com.
A versão paga do GitLab, *Enterprise Edition* (EE), tem um preço
menor que a equivalente do GitHub.
A versão gratuita do GitLab para servidores, a *Community Edition* (CE),
pode ser instalada em servidores Linux, Windows, máquinas virtuais e
servidores na nuvem, além de outras opções. Os
servi
ços
servidores na nuvem, além de outras opções. Os
endere
ços
<https://gitlab.c3sl.ufpr.br/explore> e <http://git.leg.ufpr.br/explore>
são o GitLab CE para servidores rodando no C3SL (Centro de Computação
Científica e Software Livre) e LEG (Laboratório de Estatística e
Geoinformação). Estes serviços dão suporte à colaboração em código
dentro dos departamentos de Informática e Estatística para alunos e
professores (C3SL) e para a equipe e colaboradores do LEG (LEG).
Em termos finaceiros, vale mais a pena pagar por um servidor na nuvem da
[Digital Ocean] com o GitLab CE (U$ 5/mês) do que ter uma conta para
repositórios privados no GitHub (U$ 7/mês) por 5 repositórios
privados). No entanto, conforme já mencionamos, pequenas equipes podem
ter repositórios privados na conta gratuita do GitLab.com.
Além das características essenciais ou comuns aos demais serviços, como
*issues*, *fork*, *merge requests*, *wiki* e *snippets*, o
GitLab tem repositórios com 5 níveis de acesso (*owner*, *master*,
*developer*, *report* e *guess*); revisão comentada de código nos
*diffs*; permite importar repositórios de outros serviços; permite
adição de *web hooks*.
## Outros ##
<http://www.git-tower.com/blog/git-hosting-services-compared/>
Geoinformação). Estes GitLabs dão suporte à colaboração em código dentro
dos departamentos de Informática e Estatística para alunos e professores
(C3SL) e para a equipe e colaboradores do LEG.
Em termos finaceiros, custa menos um servidor na nuvem da Digital
Ocean\footnote{\url{https://www.digitalocean.com/community/tutorials/how-to-use-the-gitlab-one-click-install-image-to-manage-git-repositories}}
com o GitLab CE (U$ 5/mês) do que ter uma conta para repositórios
privados no GitHub (U$ 7/mês) por 5 repositórios privados). No entanto,
conforme já mencionamos, pequenas equipes podem ter repositórios
privados na conta gratuita do GitLab.com.
Além das características essenciais e comuns aos demais serviços, como
*issues*, *fork*, *merge requests*, *wiki* e *snippets*, o GitLab tem 1)
5 níveis de acesso aos repositórios (*owner*, *master*, *developer*,
*report* e *guess*), 2) revisão comentada de código nos *diffs*, 3)
importação repositórios de outros serviços, 4) adição de *web hooks*
e 5) integração contínua nativa apartir da versão 8.0.
# Criar um perfil #
...
...
@@ -1307,13 +1324,6 @@ indica como tirar melhor proveito do recurso.
<!---------------------------------------------------------------------- -->
[Klint Finley]: http://techcrunch.com/2012/07/14/what-exactly-is-github-anyway/
[GitLab]: https://about.gitlab.com/
[GitHub]: https://github.com/
[GitHub Interprise]: https://enterprise.github.com
[^1]: http://technologyconversations.com/2015/10/16/github-vs-gitlabs-vs-bitbucket-server-formerly-stash/
[Digital Ocean]: https://www.digitalocean.com/community/tutorials/how-to-use-the-gitlab-one-click-install-image-to-manage-git-repositories
[GitLab]: https://about.gitlab.com/
[Macmillan]: http://www.macmillandictionary.com
[TRavis CI]: https://travis-ci.org/
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment