Curso de Git e Github
Eviomarcio Joaquim
Desenvolvedor Junior
GCINET - Prime Software Web de Folha e RH
Formação
UniFG laureate international
universities
Jaboatão dos Guararapes , PE
7° Período : Noite, Turma: 7NA
Competências e
conhecimentos
● Desenvolvimento de
software
● Controle de Versão (GitHub,
BitBucket e Tortoise SVN)
● Linguagem de Programação
C#, Java, PHP, React Native,
HTML CSS, Unity 3D
Histórico profissional
Estagiário de Desenvolvimento
B2B Recife, Local: Madalena
Agosto de 2016 - Junho de 2017
Estagiário de Desenvolvimento
Avanade do Brasil, Local: Recife Antigo
Julho de 2017 - Março de 2018
Desenvolvedor Junior
GCINET - Prime Software Web de Folha e RH,
Local: Recife Antigo
Setembro de 2018 - Atualmente
Sobre Controle de
Versão
O que é controle de versão, e por que você
deve se importar?
O controle de versão é um sistema que registra as mudanças feitas em um arquivo ou
um conjunto de arquivos ao longo do tempo de forma que você possa recuperar
versões específicas. Mesmo que os exemplos deste curso seja sobre arquivos de
código fonte, você pode usá-lo com praticamente qualquer tipo de arquivo em um
computador.
Quais tipos de arquivo pode versionar
● Word
● Excel
● Imagens
● Código fonte
● Etc…...
Exemplo:
Se você é um designer gráfico ou um web designer e quer manter todas as versões de
uma imagem ou layout (o que você certamente gostaria), usar um Sistema de Controle
de Versão (Version Control System ou VCS) é uma decisão sábia.
Ele permite reverter arquivos para um estado anterior, reverter um projeto inteiro para
um estado anterior, comparar mudanças feitas ao decorrer do tempo, ver quem foi o
último a modificar algo que pode estar causando problemas, quem introduziu um bug
e quando, e muito mais. Usar um VCS normalmente significa que se você estragou algo
ou perdeu arquivos, poderá facilmente reavê-los. Além disso, você pode controlar tudo
sem maiores esforços.
Sistemas de Controle de Versão Locais
O método preferido de controle de versão por muitas pessoas é copiar arquivos em
outro diretório (talvez um diretório com data e hora, se forem espertos). Esta
abordagem é muito comum por ser tão simples, mas é também muito suscetível a erros
Para lidar com esse problema, alguns programadores desenvolveram há muito tempo
VCSs locais que armazenavam todas as alterações dos arquivos sob controle de revisão
Sistemas de Controle de Versão Centralizados
Outro grande problema que as pessoas encontram estava na necessidade de trabalhar
em conjunto com outros desenvolvedores, que usam outros sistemas. Para lidar com
isso, foram desenvolvidos Sistemas de Controle de Versão Centralizados (Centralized
Version Control System ou CVCS).
possuem um único servidor central que contém todos os arquivos versionados e vários
clientes que podem resgatar (check out) os arquivos do servidor. Por muitos anos, esse
foi o modelo padrão para controle de versão.
Sistemas de Controle de Versão Distribuídos
É aí que surgem os Sistemas de Controle de Versão Distribuídos (Distributed Version
Control System ou DVCS). Em um DVCS (tais como Git, Mercurial, Bazaar ou Darcs), os
clientes não apenas fazem cópias das últimas versões dos arquivos: eles se tornam
cópias completas do repositório. Assim, se um servidor falha, qualquer um dos
repositórios dos clientes pode ser copiado de volta para o servidor para restaurá-lo.
Cada checkout (resgate) é na prática um backup completo de todos os dados
Benefícios
As vantagens estão relacionadas à distribuição do processamento,
redundância/replicação de repositórios e às novas possibilidades de colaboração entre
desenvolvedores (novos fluxos de trabalho).
Benefícios do Controle de Versão Distribuído
Do Ponto de Vista do Desenvolvedor
● Rapidez. As operações são processadas localmente. Não é necessário passar pela
rede e contatar o servidor central para fazer um commit, log ou diff por exemplo.
● Autonomia. A conexão com a rede só é necessária para trocar revisões com outros
repositórios. Fora isso, trabalha-se desconectado e em qualquer lugar, como num
cliente por exemplo.
Do Ponto de Vista da Gerência/Coordenação
Parte das decisões gerenciais envolve manter livre o caminho da equipe para que
possam trabalhar da melhor maneira possível. Outras decisões importantes são sobre
redução de custos. Nestes dois casos específicos, o modelo distribuído oferece as
seguintes vantagens:
● Confiabilidade. No sistema centralizado, uma pane no servidor interrompe todo o
desenvolvimento. Já no sistema distribuído, além de a equipe poder continuar seu
trabalho, os repositórios dos desenvolvedores funcionam como cópias de backup
de todo o projeto.
● Redução de custos com servidor. A carga de processamento fica distribuída nas
próprias máquinas dos desenvolvedores. O repositório "central", quando existe,
tem o papel do repositório "oficial" e não como processador central das
requisições.
Cronograma
● O que é?
● Para que serve?
● Quem utiliza?
● Configuração do Github
○ Criar novos
repositórios
○ Criar organizações
● Instalação do Git
● Configuração do Git
○ Git Config --global
● Comando dos Git
○ Git Init
○ Git Clone
○ Git Remote
○ Git status
○ Git Commit
○ Git Pull
○ Git Push
Contato
Eviomarcio
E-mail:
eviomarcio.silva@gmil.com
Telefone(whatsapp):
(81)99509-3095
LinkedIn:
https://www.linkedin.com/in/eviomarcio-
joaquim-da-silva-5ba87711a/
GitHub:
https://github.com/Eviomarcio
QR DO SLIDE SHARE PROF. CLOVES ROCHA
Biografia
● https://git-scm.com/book/pt-br/v1/Primeiros-passos-Sobre-Controle-de-
Vers%C3%A3o
● https://blog.pronus.io/posts/vantagens-e-desvantagens-do-controle-de-versao-
distribuido/

MiniCurso de Git e Github - UNIFG PIE

  • 1.
    Curso de Gite Github
  • 2.
    Eviomarcio Joaquim Desenvolvedor Junior GCINET- Prime Software Web de Folha e RH
  • 3.
    Formação UniFG laureate international universities Jaboatãodos Guararapes , PE 7° Período : Noite, Turma: 7NA
  • 4.
    Competências e conhecimentos ● Desenvolvimentode software ● Controle de Versão (GitHub, BitBucket e Tortoise SVN) ● Linguagem de Programação C#, Java, PHP, React Native, HTML CSS, Unity 3D
  • 5.
    Histórico profissional Estagiário deDesenvolvimento B2B Recife, Local: Madalena Agosto de 2016 - Junho de 2017 Estagiário de Desenvolvimento Avanade do Brasil, Local: Recife Antigo Julho de 2017 - Março de 2018 Desenvolvedor Junior GCINET - Prime Software Web de Folha e RH, Local: Recife Antigo Setembro de 2018 - Atualmente
  • 6.
  • 7.
    O que écontrole de versão, e por que você deve se importar? O controle de versão é um sistema que registra as mudanças feitas em um arquivo ou um conjunto de arquivos ao longo do tempo de forma que você possa recuperar versões específicas. Mesmo que os exemplos deste curso seja sobre arquivos de código fonte, você pode usá-lo com praticamente qualquer tipo de arquivo em um computador.
  • 8.
    Quais tipos dearquivo pode versionar ● Word ● Excel ● Imagens ● Código fonte ● Etc…...
  • 9.
    Exemplo: Se você éum designer gráfico ou um web designer e quer manter todas as versões de uma imagem ou layout (o que você certamente gostaria), usar um Sistema de Controle de Versão (Version Control System ou VCS) é uma decisão sábia.
  • 10.
    Ele permite reverterarquivos para um estado anterior, reverter um projeto inteiro para um estado anterior, comparar mudanças feitas ao decorrer do tempo, ver quem foi o último a modificar algo que pode estar causando problemas, quem introduziu um bug e quando, e muito mais. Usar um VCS normalmente significa que se você estragou algo ou perdeu arquivos, poderá facilmente reavê-los. Além disso, você pode controlar tudo sem maiores esforços.
  • 11.
    Sistemas de Controlede Versão Locais O método preferido de controle de versão por muitas pessoas é copiar arquivos em outro diretório (talvez um diretório com data e hora, se forem espertos). Esta abordagem é muito comum por ser tão simples, mas é também muito suscetível a erros Para lidar com esse problema, alguns programadores desenvolveram há muito tempo VCSs locais que armazenavam todas as alterações dos arquivos sob controle de revisão
  • 13.
    Sistemas de Controlede Versão Centralizados Outro grande problema que as pessoas encontram estava na necessidade de trabalhar em conjunto com outros desenvolvedores, que usam outros sistemas. Para lidar com isso, foram desenvolvidos Sistemas de Controle de Versão Centralizados (Centralized Version Control System ou CVCS). possuem um único servidor central que contém todos os arquivos versionados e vários clientes que podem resgatar (check out) os arquivos do servidor. Por muitos anos, esse foi o modelo padrão para controle de versão.
  • 15.
    Sistemas de Controlede Versão Distribuídos É aí que surgem os Sistemas de Controle de Versão Distribuídos (Distributed Version Control System ou DVCS). Em um DVCS (tais como Git, Mercurial, Bazaar ou Darcs), os clientes não apenas fazem cópias das últimas versões dos arquivos: eles se tornam cópias completas do repositório. Assim, se um servidor falha, qualquer um dos repositórios dos clientes pode ser copiado de volta para o servidor para restaurá-lo. Cada checkout (resgate) é na prática um backup completo de todos os dados
  • 17.
  • 18.
    As vantagens estãorelacionadas à distribuição do processamento, redundância/replicação de repositórios e às novas possibilidades de colaboração entre desenvolvedores (novos fluxos de trabalho). Benefícios do Controle de Versão Distribuído
  • 19.
    Do Ponto deVista do Desenvolvedor ● Rapidez. As operações são processadas localmente. Não é necessário passar pela rede e contatar o servidor central para fazer um commit, log ou diff por exemplo. ● Autonomia. A conexão com a rede só é necessária para trocar revisões com outros repositórios. Fora isso, trabalha-se desconectado e em qualquer lugar, como num cliente por exemplo.
  • 20.
    Do Ponto deVista da Gerência/Coordenação Parte das decisões gerenciais envolve manter livre o caminho da equipe para que possam trabalhar da melhor maneira possível. Outras decisões importantes são sobre redução de custos. Nestes dois casos específicos, o modelo distribuído oferece as seguintes vantagens: ● Confiabilidade. No sistema centralizado, uma pane no servidor interrompe todo o desenvolvimento. Já no sistema distribuído, além de a equipe poder continuar seu trabalho, os repositórios dos desenvolvedores funcionam como cópias de backup de todo o projeto. ● Redução de custos com servidor. A carga de processamento fica distribuída nas próprias máquinas dos desenvolvedores. O repositório "central", quando existe, tem o papel do repositório "oficial" e não como processador central das requisições.
  • 21.
    Cronograma ● O queé? ● Para que serve? ● Quem utiliza? ● Configuração do Github ○ Criar novos repositórios ○ Criar organizações ● Instalação do Git ● Configuração do Git ○ Git Config --global ● Comando dos Git ○ Git Init ○ Git Clone ○ Git Remote ○ Git status ○ Git Commit ○ Git Pull ○ Git Push
  • 22.
  • 23.
    QR DO SLIDESHARE PROF. CLOVES ROCHA
  • 24.