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
a19d71fb
Commit
a19d71fb
authored
9 years ago
by
Walmes Marques Zeviani
Browse files
Options
Downloads
Plain Diff
Merge remote-tracking branch 'origin/issue#51' into issue#23
O issue#51 contém as correções de texto feitas pela Ângela.
parents
262de5d6
aeea2b16
Branches
Branches containing commit
Tags
Tags containing commit
1 merge request
!41
Issue#23
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
cap05.Rmd
+71
-71
71 additions, 71 deletions
cap05.Rmd
with
71 additions
and
71 deletions
cap05.Rmd
+
71
−
71
View file @
a19d71fb
...
@@ -32,9 +32,9 @@ discussão. Para que um desenvolvedor saiba o que os outros fizeram, ele
...
@@ -32,9 +32,9 @@ discussão. Para que um desenvolvedor saiba o que os outros fizeram, ele
terá que periodicamente dar `fetch`, navegar no histórico, ver *diffs*,
terá que periodicamente dar `fetch`, navegar no histórico, ver *diffs*,
etc.
etc.
O Git tem
muit
os serviços web voltados
justamente
para ter um local que
O Git tem
vári
os serviços web voltados para ter um local que
centralize
centralize
o projeto bem como ofereça recursos administrativos e
o projeto bem como ofereça recursos administrativos e
colaborativos.
colaborativos.
Esses serviços possuem contas *free* e
tc..
.
Esses serviços possuem contas *free*
,
e
ntre outros
.
O objetivo desse capítulo é apresentar os serviços web para repositórios
O objetivo desse capítulo é apresentar os serviços web para repositórios
Git, descrever suas principais características, indicar como criar e
Git, descrever suas principais características, indicar como criar e
...
@@ -53,8 +53,8 @@ as funcinalides desses serviçõs voltados à colaboração.
...
@@ -53,8 +53,8 @@ as funcinalides desses serviçõs voltados à colaboração.
O [GitHub] é um serviço Web para hospedagem, gestão e compartilhamento
O [GitHub] é um serviço Web para hospedagem, gestão e compartilhamento
de 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.
O
principal slogam do GitHub é: *"Build software better,
together."* que justamente enfatiza o compromisso
principal
que é dar
together."* que justamente enfatiza o
principal
compromisso que é dar
suporte ao desenvolvimento colaborativo.
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
...
@@ -66,15 +66,15 @@ trimestre de 2014 haviam 22 milhões de repositórios. A linguagem
...
@@ -66,15 +66,15 @@ trimestre de 2014 haviam 22 milhões de repositórios. A linguagem
total de *pushes* enquanto que a linguagem `R` foi a com maior número de
total de *pushes* enquanto que a linguagem `R` foi a com maior número de
novas cópias por repositório (6.45).
novas cópias por repositório (6.45).
Diferente da forma tradicional de usar o Git
,
por linha de comando,
que
Diferente da forma tradicional de usar o Git por linha de comando,
o GitHub
fizemos até agora, o GitHub
é um serviço web com interface gráfica
é um serviço web com interface gráfica
repleta de funções para o
repleta de funções para o
desenvolvimento e acompanhamento de um projeto
desenvolvimento e acompanhamento de um projeto
Git. Tais recursos vão
Git. Tais recursos vão
desde administrar tarefas até
a
permitir a
desde administrar tarefas até permitir a
colaboração de outras pessoas,
colaboração de outras pessoas, até mesmo desconhecidos. Dentre os
mesmo sendo desconhecidos. Dentre os principais recursos disponíveis,
principais recursos disponíveis,
tem-se:
tem-se:
* README: é um arquivo texto escrito em liguagem de marcação
* README: é um arquivo texto escrito em liguagem de marcação
(Markdown, RST, Textile, Org, etc)
que
é renderizada para
(Markdown, RST, Textile, Org, etc)
no qual
é renderizada para
exibição. O README é a capa do seu repositório, ou seja, o conteúdo
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
apresentado na *home* do projeto e serve para informar o visitante
dos objetivos do repositório, seus desenvolvedores e pode conter
dos objetivos do repositório, seus desenvolvedores e pode conter
...
@@ -82,12 +82,12 @@ principais recursos disponíveis, tem-se:
...
@@ -82,12 +82,12 @@ principais recursos disponíveis, tem-se:
* 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. Também é escrita em linguagem de marcação, tornando
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
fácil e rápido a escrita pelo desenvolvedor e simples a leitura e a
navegação pelo visitante. Como a Wiki é
também
um repositório Git,
navegação pelo visitante. Como a Wiki é um repositório Git,
ela pode inclusive ser editada por meios dos recursos de edição do
ela pode inclusive ser editada por meios dos recursos de edição do
pró
r
pio GitHub, além de versionada
, claro
. Com isso, não diferente
próp
r
io GitHub, além de
ser
versionada. Com isso, não diferente
do restante, a edição da Wiki também é colaborativa.
do restante, a edição da Wiki também é colaborativa.
* *Issues*: P
or
*issues* é que se faz a correção de bugs e agendamento
* *Issues*: P
elos
*issues* é que se faz a correção de bugs e agendamento
de tarefas.
U
suários criam *issues* para notificar um bug encontrado
de tarefas.
Os u
suários criam *issues* para notificar um bug encontrado
de forma que ele possa ser rapidamente corrigido. Criar *issues*
de forma que ele possa ser rapidamente corrigido. Criar *issues*
também serve como ferramenta de admistração de tarefas nas quais os
também serve como ferramenta de admistração de tarefas nas quais os
*issues* descrevem algo a ser feito e por quem.
*issues* descrevem algo a ser feito e por quem.
...
@@ -97,9 +97,9 @@ principais recursos disponíveis, tem-se:
...
@@ -97,9 +97,9 @@ principais recursos disponíveis, tem-se:
prazo para conclusão, por exemplo.
prazo para conclusão, por exemplo.
* *Pull request* ou *merge request* (MR): é uma requisição de
* *Pull request* ou *merge request* (MR): é uma requisição de
fusão. Os membros da equipe fazem suas contribuições em ramos 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
responsável por avaliar o MR pode ver os *diffs* nos arquivos e
fazer o merge direto pela interfa
ç
e, de dentro do serviço sem
fazer o merge direto pela interfa
c
e, de dentro do serviço sem
precisar 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
...
@@ -111,8 +111,8 @@ principais recursos disponíveis, tem-se:
...
@@ -111,8 +111,8 @@ principais 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 onde estão listados todos os projetos no qual este
deu
contribuidor onde estão listados todos os projetos no qual este
contribui
ção
. Ao aceitar o MR, é acrescentado mais uma colaboração a
contribui
u
. Ao aceitar o MR, é acrescentado mais uma colaboração a
reputação do colaborador. Esse mecanísmo, então, beneficia as duas
reputação do colaborador. Esse mecanísmo, então, beneficia as duas
partes.
partes.
...
@@ -129,8 +129,8 @@ ver as modificações no código (*diffs*) comaprando *commits* e
...
@@ -129,8 +129,8 @@ ver as modificações no código (*diffs*) comaprando *commits* e
O GitHub não hospeda apenas código fonte mas sim todo e qualquer arquivo
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
que você tenha sob versionamento. É possível hospedar dados, por
exemplo, em formato texto (csv), e disponibilizá-los por meio da URL
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
para download ou leitura direta. Para usuários de R, essa
é uma
é uma
característica que permite não s
ó
disponibilizar dados, mas também
característica que permite não
apena
s disponibilizar dados, mas também
coleções de funções que podem ser carregadas com um `source()`.
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
...
@@ -140,8 +140,8 @@ ter repositórios privados, o plano mais básico custa U$ 7 e dá direito a
...
@@ -140,8 +140,8 @@ 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
formas, pode-se ter o GitHub em um servidor próprio, o
[GitHub Interprise], que tem vantagens além das já mencionadas,
no
[GitHub Interprise], que tem
suas
vantagens além das já mencionadas,
e
entanto, tal
como qualquer plano privado
, tem seu custo
.
terá seu custo
como qualquer plano privado.
É 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
...
@@ -154,10 +154,10 @@ JSON, SQL, XML, csv) e aplica os realces (highlights) que facilitam a
...
@@ -154,10 +154,10 @@ JSON, SQL, XML, csv) e aplica os realces (highlights) que facilitam a
leitura do código.
leitura do código.
O GitHub é o 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
com
funcionalidades que o GiHub não oferece no plano básico.
O GitLab e
funcionalidades
e até com outras
que o GiHub não oferece no plano básico.
o Bitbucket estão entre os 5 mais populares e permitem,
por exemplo, ter
O GitLab e
o Bitbucket estão entre os 5 mais populares e permitem,
alguns repositórios privados com a conta *free*.
por exemplo, ter
alguns repositórios privados com a conta *free*.
## GitLab ##
## GitLab ##
...
@@ -170,16 +170,16 @@ alguns repositórios privados com a conta *free*.
...
@@ -170,16 +170,16 @@ alguns repositórios privados com a conta *free*.
Assim como o GitHub, o [GitLab] é um serviço Web para repositórios
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
Git. O GitLab é um projeto *open source* desenvolvido em Ruby que deu
início em 2011 pelo
U
crâniano Dmitriy Zaporozhets. Em 2013, a Companhia
início em 2011 pelo
u
crâniano Dmitriy Zaporozhets. Em 2013, a Companhia
GitLab tinha 11 membros e mais de 10 mil organizações.
GitLab tinha 11 membros e mais de 10 mil organizações.
O GitLab, além de ser um serviço gratu
í
to (com planos extras)
O GitLab, além de ser um serviço gratu
i
to (com planos extras)
colaboração, é também um programa que você pode instalar em servidor
colaboração, é também um programa que você pode instalar em servidor
local para ter seus repositórios na intraweb, se for o caso.
local para ter seus repositórios na intraweb, se for o caso.
Como serviço web, o GitLab oferece basicamente todos os recursos do
Como serviço web, o GitLab oferece basicamente todos os recursos do
GitHub e do BitBucket [^1]. No entanto, com uma conta gratu
í
ta no
GitHub e do BitBucket [^1]. No entanto, com uma conta gratu
i
ta no
<http://gitlab.com> você pode ter,
além d
os repositórios públicos e
<http://gitlab.com> você pode ter, os repositórios públicos e
colaboradores, ilimitados repositórios privados sem pagar por nada. Isso
colaboradores, ilimitados repositórios privados sem pagar por nada. Isso
faz do GitLab.com o lugar certo para pequenas equipes com pouco recurso
faz do GitLab.com o lugar certo para pequenas equipes com pouco recurso
ou que desenvolvem trabalhos sem fins lucrativos, como é o caso de
ou que desenvolvem trabalhos sem fins lucrativos, como é o caso de
...
@@ -189,11 +189,11 @@ Atualmente existem mais de 69 mil projetos públicos e 5840 grupos
...
@@ -189,11 +189,11 @@ Atualmente existem mais de 69 mil projetos públicos e 5840 grupos
abertos no GitLab.com (https://gitlab.com/explore)
abertos no GitLab.com (https://gitlab.com/explore)
A versão paga do GitLab, a *Enterprise Edition* (EE), tem um preço
A versão paga do GitLab, a *Enterprise Edition* (EE), tem um preço
muitas vezes
menor que a equivalente do GitHub.
menor que a equivalente do GitHub.
A versão gratu
í
ta do GitLab para servidores, a *Community Edition* (CE),
A versão gratu
i
ta do GitLab para servidores, a *Community Edition* (CE),
pode ser instalada em servidores Linux, Windows, máquinas vituais e
pode ser instalada em servidores Linux, Windows, máquinas vi
r
tuais e
servidores na n
ú
vem, além de outras opções. Os serviços
servidores na n
u
vem, além de outras opções. Os serviços
<https://gitlab.c3sl.ufpr.br/explore> e <http://git.leg.ufpr.br/explore>
<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
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
Científica e Software Livre) e LEG (Laboratório de Estatística e
...
@@ -201,11 +201,11 @@ Geoinformação). Estes serviços dão suporte à colaboração em código
...
@@ -201,11 +201,11 @@ 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
dentro dos departamentos de Informática e Estatística para alunos e
professores (C3SL) e para a equipe e colaboradores do LEG (LEG).
professores (C3SL) e para a equipe e colaboradores do LEG (LEG).
Em termos finaceiros, vale mais a pena pagar por um servidor na n
ú
vem da
Em termos finaceiros, vale mais a pena pagar por um servidor na n
u
vem da
[Digital Ocean] com o GitLab CE (U$ 5/mês) do que ter uma conta para
[Digital Ocean] com o GitLab CE (U$ 5/mês) do que ter uma conta para
repositórios privados no GitHub (U$ 7/m
es
por 5 repositórios
repositórios privados no GitHub (U$ 7/m
ês)
por 5 repositórios
privados). No entanto, conforme já mencionamos, pequenas equipes podem
privados). No entanto, conforme já mencionamos, pequenas equipes podem
ter repositórios privados na conta gratu
í
ta do GitLab.com.
ter repositórios privados na conta gratu
i
ta do GitLab.com.
Além das características essenciais ou comuns aos demais serviços, como
Além das características essenciais ou comuns aos demais serviços, como
*issues*, *fork*, *merge requests*, *wiki* e *snippets*, o
*issues*, *fork*, *merge requests*, *wiki* e *snippets*, o
...
@@ -220,7 +220,7 @@ adição de *web hooks*.
...
@@ -220,7 +220,7 @@ adição de *web hooks*.
# Criar um perfil #
# Criar um perfil #
Criar uma conta no Github é tão simples como uma conta de email ou
de
Criar uma conta no Github é tão simples como uma conta de email ou
numa
rede social. Acesse o endereço <https://github.com/join> para preencher
rede social. Acesse o endereço <https://github.com/join> para preencher
seus dados pessoais e escolher um plano. Nenhum dos planos tem limitação
seus dados pessoais e escolher um plano. Nenhum dos planos tem limitação
quanto ao número de repositórios ou colaboradores. O que muda é a
quanto ao número de repositórios ou colaboradores. O que muda é a
...
@@ -233,7 +233,7 @@ Ao preencher o formulário de criação de conta, você receberá um email
...
@@ -233,7 +233,7 @@ Ao preencher o formulário de criação de conta, você receberá um email
com uma ulr de ativação. Se optar por planos pagos, terá informar número
com uma ulr de ativação. Se optar por planos pagos, terá informar número
do cartão de crédito para que seja feito o pagamento mensalmente.
do cartão de crédito para que seja feito o pagamento mensalmente.
Para criar uma conta gratu
í
ta no GitLab, acesse
Para criar uma conta gratu
i
ta no GitLab, acesse
<https://gitlab.com/users/sign_in>. Os serviços GitLab que usamos são
<https://gitlab.com/users/sign_in>. Os serviços GitLab que usamos são
instalações em servidoras próprias (do C3SL e do LEG), no entanto, a
instalações em servidoras próprias (do C3SL e do LEG), no entanto, a
interface do usuário é a mesma, com excessão de alguns privilégios
interface do usuário é a mesma, com excessão de alguns privilégios
...
@@ -302,6 +302,7 @@ No GitLab, o cadastro de chaves públicas é um processo semelhante. Uma
...
@@ -302,6 +302,7 @@ No GitLab, o cadastro de chaves públicas é um processo semelhante. Uma
vez autenticado, acesse <https://gitlab.c3sl.ufpr.br/profile/keys> para
vez autenticado, acesse <https://gitlab.c3sl.ufpr.br/profile/keys> para
adicionar chaves públicas. Para testar a comunição entre o GitHub e a
adicionar chaves públicas. Para testar a comunição entre o GitHub e a
sua máquina, execute:
sua máquina, execute:
```{r, engine="bash", eval=FALSE}
```{r, engine="bash", eval=FALSE}
## Testa comunição. Retorna um "Welcome!" em caso positivo.
## Testa comunição. Retorna um "Welcome!" em caso positivo.
ssh -T git@gitlab.c3sl.ufpr.br
ssh -T git@gitlab.c3sl.ufpr.br
...
@@ -338,18 +339,17 @@ permitem repositórios públicos.
...
@@ -338,18 +339,17 @@ permitem repositórios públicos.
\end{figure}
\end{figure}
Para criar o projeto dentro de uma Organização, selecione a Organização
Para criar o projeto dentro de uma Organização, selecione a Organização
na *drop list* que fica no
no
campo Owner, a esquerda do campo para o
na *drop list* que fica no campo Owner, a esquerda do campo para o
nome do repositório.
nome do repositório.
Você pode inicilizar o repositório com um arquivo `README.md`, o que é
Você pode inicilizar o repositório com um arquivo `README.md`, o que é
altamente recomendado. Como já mencionamos, esse arquivo é a capa do seu
altamente recomendado. Como já mencionamos, esse arquivo é a capa do seu
repositório e serve para documentar o seu objetivo, formas de
repositório e serve para documentar o seu objetivo, formas de colaboração, colaboradores, formas de instalação do software, caso seja um informativo
colaboração, colaboradores, formas de instalação do software, caso seja
do projeto.
um.
Você pode editar o arquivo `README.md` (ou qualquer outro) no GitHub. As
Você pode editar o arquivo `README.md` (ou qualquer outro) no GitHub. As
moficações que fizer devem ser *commitadas* para serem salvas. O arquivo
moficações que fizer devem ser *commitadas* para serem salvas. O arquivo
de
`README.md`, que é linguagem de marcação MarkDown, é automaticamente
`README.md`, que é linguagem de marcação MarkDown, é automaticamente
renderizado pelo GitHub fazendo com que urls sejam clicáveis e códigos
renderizado pelo GitHub fazendo com que urls sejam clicáveis e códigos
estejam em ambientes de fonto monoespaço, além de ter títulos com
estejam em ambientes de fonto monoespaço, além de ter títulos com
tamanho de fonte apropriado e as demais renderizações.
tamanho de fonte apropriado e as demais renderizações.
...
@@ -365,7 +365,7 @@ git clone git@github.com:fulano/ola-mundo.git
...
@@ -365,7 +365,7 @@ git clone git@github.com:fulano/ola-mundo.git
```
```
Pode-se clonar repositórios pelo protocolo `http` (*Hypertext Transfer
Pode-se clonar repositórios pelo protocolo `http` (*Hypertext Transfer
Protocol*)
também
. Em geral, para clonar repositórios de outros usuários
Protocol*). Em geral, para clonar repositórios de outros usuários
e fazer testes, usa-se `http`. Embora você possa usar `http` nos seus
e fazer testes, usa-se `http`. Embora você possa usar `http` nos seus
repositórios, prefira o *SSH*. Com `http`, o endereço para a ser:
repositórios, prefira o *SSH*. Com `http`, o endereço para a ser:
...
@@ -400,7 +400,7 @@ git push -u origin master
...
@@ -400,7 +400,7 @@ git push -u origin master
O seu projeto é configurado em
O seu projeto é configurado em
<https://github.com/walmes/emacs/settings/>. Para renomear, deletar ou
<https://github.com/walmes/emacs/settings/>. Para renomear, deletar ou
trasferir o projeto para outro usuário ou organização, vá em
tra
n
sferir o projeto para outro usuário ou organização, vá em
*Options*. Em *Collaborators* você administra os colaboradores do
*Options*. Em *Collaborators* você administra os colaboradores do
projeto. Para genrenciar os ramos de trabalho, como proteger ou remover
projeto. Para genrenciar os ramos de trabalho, como proteger ou remover
ramos, vá em *Branches*. O uso de de serviços web é configurado no
ramos, vá em *Branches*. O uso de de serviços web é configurado no
...
@@ -415,7 +415,7 @@ públicas.
...
@@ -415,7 +415,7 @@ públicas.
\label{github_repo_home}
\label{github_repo_home}
\end{figure}
\end{figure}
Vamos considerar um repositório
de bastante
atividade para conhecermos
Vamos considerar um repositório
com várias
atividade
s
para conhecermos
um pouco mais dos recursos do GitHub. O repositório
um pouco mais dos recursos do GitHub. O repositório
<https://github.com/yihui/knitr> é o sítio de desenvolvimento do pacote
<https://github.com/yihui/knitr> é o sítio de desenvolvimento do pacote
`knitr` do R, o principal pacote para a geração de relatórios
`knitr` do R, o principal pacote para a geração de relatórios
...
@@ -430,7 +430,7 @@ quantificadores:
...
@@ -430,7 +430,7 @@ quantificadores:
* *branches*: este lista os *branches* do projeto, permite comparar
* *branches*: este lista os *branches* do projeto, permite comparar
ramos.
ramos.
* *releases*: documenta as modificações de uma versão para outra e
* *releases*: documenta as modificações de uma versão para outra e
lista os *commits* que tem *tags*. Essa é uma fonte importate.
lista os *commits* que tem *tags*. Essa é uma fonte importa
n
te.
* *contributors*: dá um resumo das atividades dos colaboradores do
* *contributors*: dá um resumo das atividades dos colaboradores do
projeto. Na aba *members* tem-se uma lista de todos os usuários que
projeto. Na aba *members* tem-se uma lista de todos os usuários que
fizeram o *fork* do seu projeto. Falaremos de *fork* adiante.
fizeram o *fork* do seu projeto. Falaremos de *fork* adiante.
...
@@ -452,7 +452,7 @@ No menu da direita existem links para acessos a mais coisas:
...
@@ -452,7 +452,7 @@ No menu da direita existem links para acessos a mais coisas:
mescla. Nesta página pode submeter uma requisição e navegar nas
mescla. Nesta página pode submeter uma requisição e navegar nas
existentes.
existentes.
* wiki: na Wiki de um repositório normalmente é feita uma documentação
* wiki: na Wiki de um repositório normalmente é feita uma documentação
mais detalhada do projeto. Páginas Wiki de um repositório
são
também
mais detalhada do projeto. Páginas Wiki de um repositório também
são
repositórios Git, portanto, versionáveis.
repositórios Git, portanto, versionáveis.
* pulse: dá um resumo sobre s quantidade issues presentes, fechados e
* pulse: dá um resumo sobre s quantidade issues presentes, fechados e
abertos bem como para requisções de mescla. Mostra também um resumo
abertos bem como para requisções de mescla. Mostra também um resumo
...
@@ -462,7 +462,7 @@ No menu da direita existem links para acessos a mais coisas:
...
@@ -462,7 +462,7 @@ No menu da direita existem links para acessos a mais coisas:
maior colaboração, etc.
maior colaboração, etc.
Existem ainda mais coisas sobre o GitHub que não podemos deixar de
Existem ainda mais coisas sobre o GitHub que não podemos deixar de
comentar que são os recursos disníveis para colaboração. Nas sessões à
comentar que são os recursos dis
po
níveis para colaboração. Nas sessões à
frente, trataremos do recurso de *fork*, *issue* e requisições de
frente, trataremos do recurso de *fork*, *issue* e requisições de
mescla. Antes, no entanto, vamos conhecer um pouco GitLab, um serviço
mescla. Antes, no entanto, vamos conhecer um pouco GitLab, um serviço
web para projetos Git que pode ser instalado no seu servidor.
web para projetos Git que pode ser instalado no seu servidor.
...
@@ -470,29 +470,29 @@ web para projetos Git que pode ser instalado no seu servidor.
...
@@ -470,29 +470,29 @@ web para projetos Git que pode ser instalado no seu servidor.
O GitLab é o serviço que nós do PET usamos para colaboração em nossos
O GitLab é o serviço que nós do PET usamos para colaboração em nossos
projetos. Além disso, é o que os alunos usam para fazerem seus trabalhos
projetos. Além disso, é o que os alunos usam para fazerem seus trabalhos
e desenvolverem o TCC. O uso do Git como ferramenta de trabalho passou
e desenvolverem o TCC. O uso do Git como ferramenta de trabalho passou
ser estimulado n
esse
semestre
(
2015
/2)
.
ser estimulado n
o segundo
semestre
de
2015.
**GitLab**
**GitLab**
Basicamente, o GitLab tem os mesmos recursos, só estão organizados de
Basicamente, o GitLab tem os mesmos recursos, só estão organizados de
forma diferente.
forma diferente.
O GitLab concentra os acessos à outras páginas em um men
o
do lado
O GitLab concentra os acessos à outras páginas em um men
u
do lado
esquerdo. Do lado direito pode haver informações extras. O botão para
esquerdo. Do lado direito pode haver informações extras. O botão para
criar um novo repositório fica no canto superior direit. Ao lado deste
criar um novo repositório fica no canto superior direit
o
. Ao lado deste
tem botões para ir para página de configurações, sair, ajuda e explorar
tem botões para ir para página de configurações, sair, ajuda e explorar
o GitLab.
o GitLab.
No menu da direita tem-se acesso aos projetos do usuário, ao projetos
No menu da direita tem-se acesso aos projetos do usuário, ao projetos
favoritos e aos grupos que parcipa. As extra
da
s *Milestones*, *Issues* e
favoritos e aos grupos que par
ti
cipa. As extras
,
*Milestones*, *Issues* e
*Merge request* reúnem as informações sobre todos os projetos do qual o
*Merge request* reúnem as informações sobre todos os projetos do qual o
usuário participa.
usuário participa.
Assim como acontece com outros serviços web, na página inical do projeto
Assim como acontece com outros serviços web, na página inic
i
al do projeto
é exibido o arquivo de capa, o `README.md`. Centralizado na página
é exibido o arquivo de capa, o `README.md`. Centralizado na página
encontra-se o endereço para clonar o repositório por SSH ou HTTPS. No
encontra-se o endereço para clonar o repositório por SSH ou HTTPS. No
menu da direita estão as principais informações sobre o
menu da direita estão as principais informações sobre o
projeto.
projeto.
*Project* é a página inicial; *Activity* e *Commits* listam a
*Project* é a página inicial; *Activity* e *Commits* listam a
atividade (predominantemente *commits*); *Files* apresenta diretórios e
atividade (predominantemente *commits*); *Files* apresenta diretórios e
arquivos com opção de mudar o ramo. *Network* o estado de
arquivos com opção de mudar o ramo. *Network* o estado de
desenvolvimento dos ramos do projeto com uma lista de todos os
desenvolvimento dos ramos do projeto com uma lista de todos os
...
@@ -504,7 +504,7 @@ requisições de mescla; *Members* faz a gestão da equipe de trabalho como
...
@@ -504,7 +504,7 @@ requisições de mescla; *Members* faz a gestão da equipe de trabalho como
adição e redefinição dos níveis de acesso; *Labels* são usados para
adição e redefinição dos níveis de acesso; *Labels* são usados para
classificar os *issues* - é comum usar *bug*, *fix*, *review*. *Wiki*
classificar os *issues* - é comum usar *bug*, *fix*, *review*. *Wiki*
vai para a página Wiki do repositório, útil para divulgação e
vai para a página Wiki do repositório, útil para divulgação e
documentação
;
Finalmente, em *Settings* são feitas as configurações
documentação
.
Finalmente, em *Settings* são feitas as configurações
gerais do projeto como definição de nome, descrição, nível de
gerais do projeto como definição de nome, descrição, nível de
visibilidade e adição e *Web Hooks*. Nessa mesma página pode-se
visibilidade e adição e *Web Hooks*. Nessa mesma página pode-se
renomear, transferir ou remover o projeto.
renomear, transferir ou remover o projeto.
...
@@ -778,7 +778,7 @@ tarefas. Combinado com as *milestones*, cada membro cria um *issue*
...
@@ -778,7 +778,7 @@ tarefas. Combinado com as *milestones*, cada membro cria um *issue*
correspondente ao que vai fazer no projeto no período de uma semana. Com
correspondente ao que vai fazer no projeto no período de uma semana. Com
isso, todos os demais membros são notificados de que alguém já vai
isso, todos os demais membros são notificados de que alguém já vai
trabalhar na tarefa A do projeto, eliminando foco duplicado. O *issue* é
trabalhar na tarefa A do projeto, eliminando foco duplicado. O *issue* é
parte do fluxo de trabalho do PET
Estatística que será descrito em outro
parte do fluxo de trabalho do PET
-
Estatística que será descrito em outro
capítulo.
capítulo.
As *milestones* são uma espécie de coleção de *issues* que tenham algo
As *milestones* são uma espécie de coleção de *issues* que tenham algo
...
@@ -802,7 +802,7 @@ serviços web até tem formas de fazer *hiperlinks* facilmente para os
...
@@ -802,7 +802,7 @@ serviços web até tem formas de fazer *hiperlinks* facilmente para os
A palavra *fork*, como substantivo, representa forquilha,
A palavra *fork*, como substantivo, representa forquilha,
bifurcação. Como verbo, representa bifurcar. Esse recurso está presente
bifurcação. Como verbo, representa bifurcar. Esse recurso está presente
nas interfaces web para permitir que usuários fa
c
am cópias livres de
nas interfaces web para permitir que usuários fa
ç
am cópias livres de
projetos de outras pessoas. Como essa cópia é do projeto em determinado
projetos de outras pessoas. Como essa cópia é do projeto em determinado
instante, há grande chance de divergência entre cópia e original a
instante, há grande chance de divergência entre cópia e original a
partir desse instante, por isso é apropriado a palavra bifurcamento.
partir desse instante, por isso é apropriado a palavra bifurcamento.
...
@@ -872,14 +872,14 @@ git push origin issue#33
...
@@ -872,14 +872,14 @@ git push origin issue#33
```
```
Na interface web, o membro faz um *merge request* desse ramo para um
Na interface web, o membro faz um *merge request* desse ramo para um
ramo permamente,
que
em projetos simples é o *master* mas em projetos
ramo permamente,
no qual
em projetos simples é o *master* mas em projetos
maiores é usualmente o *devel*.
maiores é usualmente o *devel*.
Em ambos os serviços, o *merge resquest* leva para um página na qual
Em ambos os serviços, o *merge resquest* leva para um página na qual
você escolhe que ramo de demanda (doador) será incorporado a um ramo
você escolhe que ramo de demanda (doador) será incorporado a um ramo
permamente (receptor). Ao confirmar os ramos envolvidos, tem-se uma
permamente (receptor). Ao confirmar os ramos envolvidos, tem-se uma
caixa de texto destinada as informações sobre
o que
as modificações
a
caixa de texto destinada as informações sobre
quais
as modificações
devem
ser
em
incorporadas. Elas servem para justificar, esclarecer e informar o
ser incorporadas. Elas servem para justificar, esclarecer e informar o
responsável pelo *merge* sobre a incorporação. Quando o projeto é
responsável pelo *merge* sobre a incorporação. Quando o projeto é
coletivo e não individual, um membro pode ser indicado como responsável
coletivo e não individual, um membro pode ser indicado como responsável
pelo *merge*.
pelo *merge*.
...
@@ -897,11 +897,11 @@ ou 2) incorporar ao *master* do original. Outra opção é incorporar ao
...
@@ -897,11 +897,11 @@ ou 2) incorporar ao *master* do original. Outra opção é incorporar ao
para o *master* do original. Essa última é útil quando a quantidade de
para o *master* do original. Essa última é útil quando a quantidade de
modificações é maior e portanto, o trabalho vai levar mais tempo.
modificações é maior e portanto, o trabalho vai levar mais tempo.
O próprio serviço Web tem recurso para a apliação do *merge* sem
O próprio serviço Web tem recurso para a apli
c
ação do *merge* sem
precisar copiar os ramos envolvidos. Isso facilita bastante o
precisar copiar os ramos envolvidos. Isso facilita bastante o
trabalho. Porém, não haver conflito de *merge* não significa que as
trabalho. Porém, não haver conflito de *merge* não significa que as
modificações incorparadas estão funcionais, ou seja, as modificações
modificações incorparadas estão funcionais, ou seja, as modificações
feitas precisam ser testadas localmente para verificar
de tive
ram
feitas precisam ser testadas localmente para verificar
surgi
ram
efeito. É possível habilitar o serviço Git para checar se o projeto é
efeito. É possível habilitar o serviço Git para checar se o projeto é
executável, em caso de softwares. Esse recurso se chama intergração
executável, em caso de softwares. Esse recurso se chama intergração
contínua e veremos na próxima sessão.
contínua e veremos na próxima sessão.
...
@@ -915,9 +915,9 @@ que já reconheçe que o *merge* foi feito e fecha a requisição.
...
@@ -915,9 +915,9 @@ que já reconheçe que o *merge* foi feito e fecha a requisição.
Recomenda-se que os ramos de demanda sejam removidos após a incorporação
Recomenda-se que os ramos de demanda sejam removidos após a incorporação
nos ramos permanentes. Isso torna o projeto mais claro e concentrado em
nos ramos permanentes. Isso torna o projeto mais claro e concentrado em
ramos definitivos colhedores de desenvolvimento. Pode-se exluir o ramo
ramos definitivos colhedores de desenvolvimento. Pode-se ex
c
luir o ramo
de demanda incorporado direto pela interface. Por linha de comando
de demanda incorporado direto pela interface. Por linha de comando
também é possível
também é possível
.
```{r, engine="bash", eval=FALSE}
```{r, engine="bash", eval=FALSE}
## Deleta o branch issue#33 no servidor (origin).
## Deleta o branch issue#33 no servidor (origin).
...
...
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