O Ciclo de Desenvolvimento do Kernel do Linux
|
|
|
- Denílson Klettenberg Cesário
- 9 Há anos
- Visualizações:
Transcrição
1 O Ciclo de Desenvolvimento do Kernel do Linux Gustavo Padovan Open First
2 Agenda O que é o Linux? Estatísticas de Desenvolvimento História Ciclos de Desenvolvimento Hierarquia de Mantenedores Árvore estáveis e de desenvolvimento Linux-next Revisão de Código Como contribuir para o Kernel? 2
3 O que é o Linux? Linux é o Linux Kernel Sistema Operacional UNIX Criado em 1991 por Linus Torvalds Suporta ~30 aquiteturas Licenciado em GPLv2 Maior Projeto de Software Livre do Mundo 3
4 Usos 4
5 Estatísticas versão do kernel número de commits v4.7* v v v v v v v ~200 commits/dia ou 1 commit a cada 7 minutos Recorde de commits na v3.15 * v4.7 ainda não foi lançada 5
6 Estatísticas versão do kernel desenvolvedores v4.7* 1556 v v v v v v v Média de 8 contribuições por desenvolvedor Recorde de 1679 desenvolvedores na v4.6 * v4.7 ainda não foi lançada 6
7 Estatísticas # organização commits v4.6 1 Intel 2009 (15.0%) 2 (unknown) 1358 (10.2%) 3 Red Hat 1043 (7.8%) 4 (None) 647 (4.8%) 5 Linaro 588 (4.4%) 6 Outreachy 413 (3.1%) 7 Samsung 390 (2.9%) 8 SUSE 364 (2.7%) ~200 organizações por versão 7
8 Ciclo de Desenvolvimento pré v2.6 Versão 1.0 em 1994 Versão 2.0 em 1996 Versão 2.2 em 1999 Versão 2.4 em 2001 Versão 2.6 em
9 Ciclo de Desenvolvimento pré v2.6 Até o lançamento v2.6 ciclo de ~2 anos Branch estável Somente bug fix Sem hardware e funcionalidades novas Branch de desenvolvimento v2.1.x, v2.3.x, v2.5.x 9
10 Ciclo de Desenvolvimento pré v2.6 Problemas: Ciclo muito longo Gerenciamento complicado e confuso Backport de funcionalidades para o v2.4 Introdução de bugs 10
11 Ciclo de Desenvolvimento v2.6..hoje Ciclos curtos de menos de 3 meses Release early, release often Mais testes, mais estável Novas features chegam mais rápido 11
12 Ciclo de Desenvolvimento v2.6..hoje 2 semanas de merge window Inclusão de novas funcionalidades 6-8 semanas de estabilização Lançamento de uma versão marca o início da próxima merge window 3.0 e 4.0 não são versões especias 12
13 Ciclo de Desenvolvimento v2.6..hoje v merge window 4.7 merge rc1 rc2 rc3 rc4 rc5 rc6 rc7 v4.6 window rc1 rc2 novas features novas features 13
14 Hierarquia de Mantenedores Mantenedores para cada subsistema Cada subsistema tem submantenedores Árvore pra cada subsistema Enviam contribuições para cima Linus Torvalds no topo da hierarquia 14
15 Hierarquia de Mantenedores mainline net dri... bluetooth netfilter i915 nouveau 15
16 Novas features Incorporado a cada merge window branch -next (próxima versão) Acontece durante todo o ciclo 16
17 Ciclo de Desenvolvimento - -next v merge window 4.7 merge rc1 rc2 rc3 rc4 rc5 rc6 rc7 v4.6 window rc1 rc2 net-next bluetooth-next pull request 17
18 Versão Estável Cada versão tem um branch estável Somente patches que estão no mainline Mantido por Greg KH Uma versão longterm (LTS) por ano LTS são mantidas por 2 anos Usadas pra desenvolvimento de produtos 18
19 Ciclo de Desenvolvimento - stable v4.5.0 v4.5.1 v4.5.2 v4.5.3 v4.5.4 v4.5.5 v4.5.6 v merge 4.7 merge v4.5 rc1 rc2 rc3 rc4 rc5 rc6 rc7 v4.6 window window rc1 rc2 net-next bluetooth-next 19
20 Revisão de Código - tags Signed-off-by: autores e mantenedores Reviewed-by: Acked-by: Tested-by: Reported-by: Suggested-by: 20
21 tags commit 2d75c88fefb228aedfb135228acb6620db8f0e40 Author: Gustavo Padovan Date: Tue Apr 26 12:32: staging/android: refactor SYNC IOCTLs Change SYNC_IOC_FILE_INFO (former SYNC_IOC_FENCE_INFO) behaviour to avoid future API breaks and optimize buffer allocation. Signed-off-by: Gustavo Padovan Reviewed-by: Maarten Lankhorst Acked-by: Greg Hackmann Acked-by: Rob Clark Acked-by: Daniel Vetter Signed-off-by: Greg Kroah-Hartman 21
22 git Nenhum VCS era bom o suficiente Bitkeeper era ineficiente e proprietário Em 2005 o Linus Torvalds criou o git Distribuído, Eficiente e a Prova de falhas Revolucionou a colaboração de software 22
23 linux-next Faz merge diário das árvores -next Criada em 2008 por Stephen Rothwell Indentifica problemas antes do mainline merge conflict compiler error/warning Base de teste e desenvolvimento Código mais estável na merge window 23
24 Como contribuir para o Kernel? Não sei por onde começar!? Leia o código/documentação Procure bugs que afetam a sua máquina Assine as listas de (LKML e outras) #kernelnewbies on irc.oftc.net 24
25 Submetendo Patches RTFM! Documentation/SubmittingPatches Descubra quem são os mantenedores scripts/get_maintainer.pl git format-patch & git send- 25
26 Obrigado! Gustavo Padovan
Controle de Versões com o Git
Controle de Versões com o Git #gitday - 10/09/2011 Slides por Tiago "Myhro" Ilieve O que é versionamento de código? É manter diversas versões dos seus arquivos, de forma que você possa acessar o conteúdo
SOFTWARE. Disciplina: Informática Professor: Gustavo Sabry
SOFTWARE Disciplina: Informática Professor: Gustavo Sabry MARÇO/2016 O QUE É SOFTWARE? É a parte lógica de um computador; Ou seja, nada mais é que todo e qualquer programa utilizado pelos usuários; Gerado
Curso de git. Aula de outubro de 2018
Curso de git Aula 1 Pet Computação 22 de outubro de 2018 1 / 43 Conteúdo Aula 2 Aula 1 Controle de versão Git conceitual Git prático com: git add, commit git checkout, branch, log Ramificações remotas
Sistemas Operacionais II. Linux - Introdução
Sistemas Operacionais II Linux - Introdução 2 Histórico Em 1991, um estudante de computação da Finlândia chamado Linus Torvalds desenvolveu um kernel compatível com o Unix para um processador 80386 que
Técnico Subsequente em Redes de Computadores Introdução a Sistemas Abertos (ISA)
Técnico Subsequente em Redes de Computadores Introdução a Sistemas Abertos (ISA) Aula 02 Introdução ao Linux Objetivos Conhecer a história do sistema operacional Linux; Ver a importância do software livre
Distribuições Linux. Rafael Guterres Jeffman. Faculdade Senac Porto Alegre Tchelinux
Distribuições Linux Rafael Guterres Jeffman Faculdade Senac Porto Alegre Tchelinux Pré-História 1970 É lançado o UNIX (AT&T). 1977 É lançado o BSD. 1983 Richard Stallman inicia o projeto GNU. 1985 É lançado
Aula 01 Introdução ao S.O. Linux
Prof. Diego Pereira Gerência e Configuração de Serviços para Internet Aula 01 Introdução ao S.O. Linux Objetivos Conhecer a história do sistema operacional Linux; Ver a importância
Instalação e Configuração de Servidores Linux Server. Prof. Alex Furtunato
Instalação e Configuração de Servidores Linux Server Prof. Alex Furtunato [email protected] Roteiro Definições Histórico Características Principais Distribuições Shell Partições Sistemas
Gerenciamento de configuração e mudança
Gerenciamento de configuração e mudança Centro de Informática - Universidade Federal de Pernambuco Kiev Gama [email protected] Slides originais elaborados por Ian Sommerville e adaptado pelos professores
Controlo de versões com GIT
Controlo de versões com GIT Controlo de versões é um sistema que grava mudanças a um ficheiro ou conjunto de ficheiros, ao longo do tempo, de modo a que possam ser invocadas versões específicas mais tarde.
Fundamentos de Sistemas Operacionais de Arquitetura Aberta. CST em Redes de Computadores
Fundamentos de Sistemas Operacionais de Arquitetura Aberta CST em Redes de Computadores Introdução Computadores Computadores são compostos, basicamente, de CPU, memória e dispositivos de entrada e saída
Mini Curso Gerenciamento de Configuração e Mudança com GIT + Eclipse. Jadson Santos Amador Pahim
Mini Curso Gerenciamento de Configuração e Mudança com GIT + Eclipse Jadson Santos Amador Pahim Gerenciamento de Configuração e Mudança Padrões e Boas práticas de GCM Sistema de controle de Versão Distribuído
@georgeguimaraes. Integração Discreta. melhorando a Integração Contínua e ganhando em colaboração
@georgeguimaraes Integração Discreta melhorando a Integração Contínua e ganhando em colaboração @georgeguimaraes George Guimarães co-fundador da Plataformatec entrega de projetos Posicionamento único
Salvando modificações localmente (commit) Enviando modificações para o servidor (push) Sinalizando versão estável (tag)
Salvando modificações localmente (commit) Enviando modificações para o servidor (push) Sinalizando versão estável (tag) Desfazendo modificações (reset) Verificar status de repositório 5 Não vamos fazer,
Histórico e conceitos básicos. GSO I Gestão de Sistemas Operacionais
Histórico e conceitos básicos GSO I Gestão de Sistemas Operacionais História do Linux Em 1991, Linus Benedict Torvalds, um estudante Filandês, pela necessidade de estudar melhor sistemas operacionais desenvolve
GIT Controlo de versões
Universidade Portucalense Engenharia de Software ES01 2013-2014 1 Universidade Portucalense Engenharia de Software ES01 2013-2014 1 GIT Controlo de versões O GIT tem duas vantagens essenciais: Faz o controlo
Git e Pais
Git e GitHub @Sebastião Pais O que é Git? "Git é um sistema de controle de versão distribuida, rápido e escalável" Basicamente é um versionador de ficheiros, é utilizado principalmente para gerir versões
Desenvolvimento de so-ware com Git. Leonardo Gresta Paulino Murta
Desenvolvimento de so-ware com Git Leonardo Gresta Paulino Murta [email protected]ff.br Versionamento Agenda Sistemas de Controle de Versão Formas de adoção de Sistemas de Controle de Versão Distribuídos Git
Versionamento Ágil com Git
Versionamento Ágil com Git Como paramos de nos preocupar e aprendemos a amar versionamento ágil Brazil Scrum Gathering São Paulo, 13 de Maio de 2009 Quem? Tiago M. Jorge Agile Coach, WebCo Internet Ronaldo
TUTORIAL DE USO DO GIT JUNTO AO ECLIPSE
TUTORIAL DE USO DO GIT JUNTO AO ECLIPSE 1. O que é o Git? Git é um sistema de controle de versão distribuído, inicialmente projetado para o desenvolvimento do Kernel do Linux, por Linus Torvalds. Neste
Introdução ao Linux. Thiago Yukio Kikuchi Oliveira
Introdução ao Linux Thiago Yukio Kikuchi Oliveira [email protected] O que é Linux??? Definição: Linux é um sistema operacional criado em 1991 por Linus Torvalds na universidade de Helsinki na Finlândia.
Introdução ao Git. Introdução ao GIT. Anderson Moreira. Baseado nos slides disponíveis em http//free electrons.com
Introdução ao GIT Introdução ao Git Anderson Moreira Copyright 2009, Free Electrons. Creative Commons BY SA 3.0 license Latest update: Aug 28, 2015, Document sources, updates and translations: http://free
José cria um repositório vazio no Bitbucket (https://bitbucket.org/) José cria no seu computador de desenvolvimento um repositório local
Tutorial simples de Git usando a linha de comandos Parte 1 Em pares (por ex., José e Miguel) José cria um repositório vazio no Bitbucket (https://bitbucket.org/) o Repositories > Create repository o Repository
Breve Introdução aos Sistemas Operativos. Disciplina de Informática PEUS, U.Porto
Breve Introdução aos Sistemas Operativos Disciplina de Informática PEUS, 2006 - U.Porto Definição de Sistema Operativo Um programa que funciona como intermediário entre o utilizador do computador e os
Prof. Esp. Fabiano Taguchi SOFTWARES
1 ELEMENTOS DE COMPUTADORES Prof. Esp. Fabiano Taguchi [email protected] http://fabianotaguchi.wordpress.com SOFTWARES 2 2 SOFTWARES CONCEITO Conjunto alterável de instruções ordenadas e lógicas
Como contribuir com projetos de software livre
Como contribuir com projetos de software livre Luciana Fujii Pontello 1 / 29 Software livre? 2 / 29 Por que contribuir? Software livre Liberdade não preço Linux, Ubuntu? Sim, mas não só Quatro liberdades
Entre os VCS s, podemos sitar o Mercurial, Subversion, CVS, Git dentre outros. E é do Git que vamos falar hoje.
Felipe Djinn Coding for Beer Introdução ao Controle de Versão com Git without comments Quando se trabalha em equipe, quando há mais de uma pessoa envolvida em um mesmo projeto, é essencial termos alguma
Administração de Sistemas Operacionais
Administração de Sistemas Operacionais Linux - Introdução Alex Furtunato CEFET/RN [email protected] http://www.cefetrn.br/~alex Sumário Histórico Características principais Distribuições Partições Sistema
DevOps na Zendesk DEVOPS LEAD SENIOR DEVELOPER OPERATIONS ENGINEER
DevOps na Zendesk Eduardo Saito! DEVOPS LEAD Cassiano Aquino! SENIOR DEVELOPER OPERATIONS ENGINEER Agenda! 1. 2. 3. 4. 5. Zendesk Arquitetura Processos Ferramentas Cultura Agenda! 1. 2. 3. 4. 5. Zendesk
Ruby on Rails Avançado
CONTEÚDO PROGRAMÁTICO Ruby on Rails Avançado Carga horária: 32 horas TreinaWeb Tecnologia LTDA CNPJ: 06.156.637/0001-58 Av. Paulista, 1765 - Conj 71 e 72 São Paulo - SP CONTEÚDO PROGRAMÁTICO 1 - Introdução
CVS Concurrent Versions System
Universidade Federal do Pará Centro de Ciências Exatas e Naturais Departamento de Informática Laboratório de Engenharia de Software Projeto LABES PROINT Coordenador: Prof. Rodrigo Quites Reis Bolsista:
INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO ESTRUTURA DE UM SISTEMA OPERACIONAL PROFESSOR CARLOS MUNIZ
INTRODUÇÃO À TECNOLOGIA DA ESTRUTURA DE UM SISTEMA PROFESSOR CARLOS MUNIZ ESTRUTURA DE SISTEMAS OPERACIONAIS O sistema operacional tem uma estrutura bem complexa, devido não funcionar como um programa
Sistema Operacional. Disciplina: Softwares, Aplicativos e Sistema Operacional. Professor: Thiago Silva Prates
Sistema Operacional Disciplina: Softwares, Aplicativos e Sistema Operacional Professor: Thiago Silva Prates Software e aplicativos Software é uma sequência de instruções à serem seguidas e executadas.
Introdução ao Git. Laboratório de Programação. Pedro Vasconcelos, Manuel Barbosa, DCC/FCUP. Fevereiro 2016
Introdução ao Git Laboratório de Programação Pedro Vasconcelos, Manuel Barbosa, DCC/FCUP Fevereiro 2016 Controlo de Versões Controlo de Versões Um sistema de controlo de versões (VCS) é uma ferramenta
Introdução aos Sistemas Abertos
aos Sistemas Abertos Carlos Gustavo A. da Rocha Afinal, o que é um sistema aberto? E pra complicar o que significa Freeware? Shareware? Free software?... Freeware Licenciado por uma empresa ou pessoa Código
TUTORIAL GIT Victor Breder Comp-19 Março de 2017
TUTORIAL GIT Victor Breder Comp-19 Março de 2017 1. INTRODUÇÃO Este tutorial tem como objetivo apresentar o necessário para um uso proficiente do git. Git é uma ferramenta de controle de versões VCS, ou
Fundamentos de Sistemas Operacionais
Fundamentos de Sistemas Operacionais Aula 3 Princípios de Sistemas Operacionais Prof. Belarmino Existem dezenas de Sistemas Operacionais executando nos mais variados tipos de maquinas. Os mais conhecidos
Introdução à Computação MAC0110
Introdução à Computação MAC0110 Prof. Dr. Paulo Miranda IME-USP Aula 1 Introdução à Computação Eventos históricos: 1) Máquina universal de Turing criada em 1936 por Alan Turing, fundamento teórico para
Elgg - Participatório. Departamento de Informática Universidade Federal do Paraná (UFPR) Curitiba PR [email protected]
Elgg - Participatório Departamento de Informática Universidade Federal do Paraná (UFPR) Curitiba PR [email protected] 24 de abril de 2014 Índice 1. Sobre o Elgg 2. Participatório a. b. c. d. e.
Projeto Micro Livre do Ministério da Educação. Avaliação da Distribuição Linux para as Estações de Trabalho
Projeto Micro Livre do Ministério da Educação Avaliação da Distribuição Linux para as Estações de Trabalho Brasília, dezembro de 2004 Agenda Introdução - Aspectos da decisão - Servidores e estações - Definições
SO Conceitos Básicos. Gerência. Objetivos do SO 07/05/2011. Qual sistema operacional escolher? Qual sistema operacional escolher?
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DA PARAÍBA CAMPUS CAMPINA GRANDE 1 2 SO Conceitos Básicos UNIDADE I INTRODUÇÃO À INFORMÁTICA: SISTEMA OPERACIONAL USO E OPERAÇÃO Em torno do computador
Sistemas Operacionais Estrutura do Sistema Operacional. Arquiteturas do Kernel
Sistemas Operacionais Estrutura do Sistema Operacional Principais tipos de estruturas: Monolíticos; Em camadas; Máquinas Virtuais; Arquitetura Micro-kernel; Cliente-Servidor; 2 Arquitetura Monolítica Aplicação
Integrated Government Resources Planning IGRP Open Source. Como importar e contribuir - GitHub. Núcleo Operacional da Sociedade de Informação
Núcleo Operacional da Sociedade de Informação 23-05-2017 Integrated Government Resources Planning IGRP Open Source Como importar e contribuir - GitHub Índice Listas de Figuras... 2 Introdução... 3 Instalação
Novidades no OpenBSD 4.3
Novidades no OpenBSD 4.3 Leonardo Menezes Vaz 1º Seminário de Software Livre Gravataí, 31 de Maio de 2008 Tópicos O que é OpenBSD? Características do OpenBSD Como ajudar o projeto?
Introdução ao Controle de Versões. Leonardo Murta ([email protected])
Introdução ao Controle de Versões Leonardo Murta ([email protected]) Introdução A Engenharia de Software... Abordagem disciplinada para o desenvolvimento de software Grande diversidade de metodologias
Conhecendo o NetBSD. Alan Silva <[email protected]> NetBSD-BR
Conhecendo o NetBSD Alan Silva NetBSD-BR O que é NetBSD? O NetBSD é um sistema operacional UNIX-like baseado no padrao BSD 4.4 e com isso incorpora caracteristicas do mesmo O NetBSD
PIRATAS DO VALE DO SILÍCIO. Prof. André Aparecido da Silva
PIRATAS DO VALE DO SILÍCIO Prof. André Aparecido da Silva VALE DO SILÍCIO É uma região na qual está situado um conjunto de empresas implantadas a partir da década de 1950 com o objetivo de gerar inovações
Sistemas Operacionais e Introdução à Programação. Módulo 1 Sistemas Operacionais
Sistemas Operacionais e Introdução à Programação Módulo 1 Sistemas Operacionais 1 Competências: SOP 1. Compreender as abstrações de um sistema operacional e operar um sistema operacional Unix/Linux como
Versionamento de Código. Núcleo de Desenvolvimento de Software
Versionamento de Código Núcleo de Desenvolvimento de Software Por quê? Facilidades de utilizar um sistema de versionamento de código. Várias versões Quando se salva uma nova versão de um arquivo, a versão
Estrutura dos Sistemas Operacionais. Adão de Melo Neto
Estrutura dos Sistemas Operacionais Adão de Melo Neto 1 2 3 SISTEMA OPERACIONAL(SO) DEFINIÇÃO É um conjunto de rotinas ou processos (executado pelo processador) que controla o funcionamento do computador
Informática I. Aula 19. http://www.ic.uff.br/~bianca/informatica1/ Aula 19-20/06/06 1
Informática I Aula 19 http://www.ic.uff.br/~bianca/informatica1/ Aula 19-20/06/06 1 Ementa Histórico dos Computadores Noções de Hardware e Software Microprocessadores Sistemas Numéricos e Representação
Utilizando o GitHub para projetos Colaborativos
Utilizando o GitHub para projetos Colaborativos INDICE 1 SOBRE O GIT E O GITHUB... 4 1.1 Conceitos importantes do Git/GitHub... 5 2 UTILIZANDO O GITHUB WEB... 6 2.1 Criando uma conta no GitHub Web... 8
Estruturas de Sistemas Operacionais
Estruturas de Sistemas Operacionais Sistemas Operacionais - Tópicos Componentes do Sistema Serviços de Sistemas Operacionais Chamadas ao Sistema Estrutura do Sistema Máquinas Virtuais Chamadas ao Sistema
Universidade Federal de Santa Maria Centro de Tecnologia Programa de Educação Tutorial - Sistemas de Informação TUTORIAL
Universidade Federal de Santa Maria Centro de Tecnologia Programa de Educação Tutorial - Sistemas de Informação TUTORIAL Iago da Cunha Corrêa Cássio Castro Araujo Alexandre Moreira Medina Santa Maria,
Sistema Informático da ESTiG/IPB. Rui Pedro Lopes
Sistema Informático da ESTiG/IPB Rui Pedro Lopes Introdução 2300 alunos 160 docentes 500 postos de trabalho (PCs) 120 gabinetes 25 laboratórios e salas de computadores 9 bastidores de comunicações 3 bastidores
Introdução aos Sistemas Operacionais. Ricardo Ramos de Oliveira
Introdução aos Sistemas Operacionais Ricardo Ramos de Oliveira E-mail: [email protected] Cadastro Wiki USP Endereço: http://garapa.intermidia.icmc.usp.br/mediawiki Objetivos Conceituar
Engenharia de Software e Software Livre
Tudo a Ver! [email protected] Abril de 2008 fisl9.0 Agenda O que é Engenharia de Software 1 O que é Engenharia de Software 2 3 4 5 Agenda O que é Engenharia de Software 1 O que é Engenharia de Software
Sistemas de Informação (SI) Infraestrutra de Tecnologia da Informação (TI): Software
Sistemas de Informação (SI) Infraestrutra de Tecnologia da Informação (TI): Software Prof.ª Dr.ª Symone Gomes Soares Alcalá Universidade Federal de Goiás (UFG) Regional Goiânia (RG) Faculdade de Ciências
Administração Central Cetec Capacitações Capacitação Sistema Operacional Linux
Capacitação Sistema Operacional Linux Parte I Introdução Quando abordamos o assunto sistema operacional, acredito que, para muitos usuários e profissionais da área de tecnologia venha a sua cabeça a imagem
Introdução ao Sistema Linux
1997-2017 - Volnys Bernal 1 Introdução ao Sistema Linux Volnys Borges Bernal [email protected] http://www.lsi.usp.br/~volnys Laboratório de Sistemas Integráveis http://www.lsi.usp.br/ 1997-2017 - Volnys
Administração de Redes Distribuições Linux
Administração de Redes Distribuições Linux Rafael S. Guimarães IFES - Campus Cachoeiro de Itapemirim História Em 1973, um pesquisador da Bell Labs, Dennis Ritchie, reescreveu todo o sistema Unix numa linguagem
Proposta Comercial. Produto: Servidores Dedicados
Proposta Comercial Produto: Servidores Dedicados Sumário Sobre a Locaweb... 3 Soluções Propostas... 4 Benefícios dos Servidores Dedicados Locaweb... 5 Condições Comerciais... 6 Prazos e demais condições...
GNU/Linux - Distribuições Principais
GNU/Linux - Distribuições Principais Date : 15 de Novembro de 2011 Por Navyseal para o PPLWARE.COM Nos posts aqui no PPLWARE.COM e noutros que tenho lido, repete-se muitas vezes a mesma pergunta: "Gostaria
Introdução ao GitHub Peter Bell e Brent Beer
Introdução ao GitHub Peter Bell e Brent Beer Novatec Authorized Portuguese translation of the English edition of Introducing GitHub, ISBN 9781491949740 2014 Pragmatic Learning, Inc. This translation is
