Skip to content

1. Introdução ao Git e Github

João Pedro edited this page Sep 11, 2024 · 6 revisions

1. O que é o Git e o Github

Git

  • Sistema de controle de versão distribuído (DVCS)
  • Melhor controle das versões do código
  • Desenvolvido por Linus Torvalds em 2005 para gerenciar o desenvolvimento do kernel do Linux
  • Permite manter um histórico de alterações de um código.
  • Cada contribuição é registrada como um "commit", que contém uma descrição da alteração e uma referência única (hash).

Glossário

  1. Branch (Ramificação): Uma linha de desenvolvimento independente, permitindo que você trabalhe em recursos ou correções de bugs sem afetar o código principal.
  2. Merge (Mesclar): Combinar alterações de uma branch em outra.
  3. Rebase: Reorganizar o histórico de commits, muitas vezes usado para manter uma linha de história mais limpa e linear.
  4. Clone: Criar uma cópia local de um repositório remoto.
  5. Fork: Criar uma cópia pessoal de um repositório de outra pessoa, frequentemente usado para contribuições ou desenvolvimento independente.
  6. Commit: Um conjunto de mudanças relacionadas em um repositório, registrado no histórico.
  7. Pull Request (Pedido de Pull): Um pedido para incorporar as alterações de uma branch (normalmente de uma bifurcação) em outra.
  8. Remote (Remoto): Repositório localizado em outro local, muitas vezes referindo-se ao repositório no GitHub.
  9. Tag: Uma referência específica a um commit, geralmente usada para marcar versões estáveis.
  10. Stash: Salvar alterações temporariamente, permitindo que você mude de branch sem commitar ou descartar as alterações.

Github

  • Plataforma de hospedagem de código que utiliza o Git.
  • Plataforma online na nuvem que serve como um repositório que guarda os códigos fontes de desenvolvedores
    • Utiliza o Git para fornecer serviços adicionais, facilitando a colaboração e o gerenciamento de projetos.
  • Fornece um ambiente colaborativo para desenvolvedores trabalharem em projetos, facilitando o compartilhamento, colaboração e controle de versão.

Glossário

  1. Issues (Problemas): Rastreamento de tarefas, melhorias ou bugs em um repositório.
  2. Wiki: Páginas de documentação associadas a um repositório.
  3. Actions: Automação configurada no GitHub para executar tarefas, testes ou implantações.
  4. GitHub Pages: Serviço que hospeda sites diretamente a partir do seu repositório.
  5. Collaborator (Colaborador): Uma pessoa que tem permissão para contribuir diretamente para um repositório.
  6. Organization (Organização): Uma conta no GitHub que pode conter vários repositórios e membros.
  7. Gist: Repositório Git mínimo, geralmente usado para compartilhar pedaços de código.
  8. Code Review (Revisão de Código): Avaliação de código por outros membros da equipe para melhorar a qualidade e identificar possíveis problemas.
  9. Dependency: Uma biblioteca ou pacote em que seu projeto depende.
  10. Contributing Guidelines (Diretrizes de Contribuição): Instruções sobre como contribuir para um projeto específico.

2. Como o git e o github se relacionam

  1. Hospedagem de Repositórios:
    • Git é o sistema que rastreia as alterações e gerencia o controle de versão localmente em sua máquina.
    • GitHub é um serviço que hospeda repositórios Git remotamente, permitindo que você armazene e compartilhe seu código na nuvem.
  2. Colaboração em Equipe:
    • Git possibilita a colaboração em equipe, permitindo que vários desenvolvedores trabalhem no mesmo projeto e combinem suas alterações.
    • GitHub facilita a colaboração ao fornecer recursos como "pull requests", que permitem revisar, discutir e mesclar alterações propostas por outros membros da equipe.
  3. Rastreamento de Problemas e Projetos:
    • GitHub oferece ferramentas para rastreamento de problemas, gerenciamento de projetos e integração contínua, indo além do controle de versão.
    • Git é focado principalmente no controle de versão, enquanto o GitHub adiciona funcionalidades extras para melhorar a colaboração e o gerenciamento de projetos.
  4. Forks e Branches:
    • Git permite criar "branches" para isolar o desenvolvimento de novos recursos ou correções de bugs.
    • GitHub estende essa funcionalidade permitindo "forks", que são cópias independentes de um repositório, permitindo que desenvolvedores contribuam para um projeto sem modificar diretamente o repositório original.
  5. Versionamento de Código:
    • Git controla versões localmente e realiza operações como commit, branch e merge.
    • GitHub torna esse processo mais acessível e visível, fornecendo uma interface gráfica para navegar pelas versões, comparar alterações e colaborar de maneira eficiente.

3. Configuração do git depois de instalar

git config --global user.name "jpcad(nome do meu usuário)"
git config --global user.email "jpedrooliveira1010@gmail.com(meu email)"

# Verificando se está configurado:
git config --list

4. Principais comandos do Git

PrincipaisComandosDoGit

  1. git init
    • Inicia um novo repositório Git no diretório atual.
  2. git clone [URL]
    • Clona um repositório Git existente para o diretório local.
  3. git add .
    • Adiciona alterações ao índice (staging area) para prepará-las para o commit.
  4. git commit -m "mensagem"
    • Realiza um commit com as alterações adicionadas, incluindo uma mensagem que descreve as mudanças feitas.
  5. git status
    • Exibe o estado atual do repositório, indicando quais arquivos foram modificados, adicionados ou removidos.
  6. git log
    • Mostra o histórico de commits do repositório.
  7. git branch
    • Lista todas as branches locais e destaca a branch atual.
  8. git branch [nome-da-branch]
    • Cria uma nova branch.
  9. git checkout [nome-da-branch]
    • Altera para uma branch específica.
  10. git merge [branch]
    • Combina as alterações de uma branch para a branch atual.
  11. git pull
    • Atualiza o repositório local com as alterações do repositório remoto.
  12. git push [remote] [branch]
    • Envia os commits locais para o repositório remoto.
  13. git remote -v
    • Lista os repositórios remotos configurados.
  14. git fetch
    • Recupera as últimas alterações do repositório remoto, mas não faz merge automaticamente.
  15. git reset [arquivo]
    • Desfaz as alterações no arquivo especificado, removendo-o do índice.
  16. git rm [arquivo]
    • Remove um arquivo do repositório e o inclui no próximo commit.
  17. git diff
    • Mostra as diferenças entre as alterações que ainda não foram adicionadas ao índice.
  18. git remote add [nome-remoto] [URL]
    • Adiciona um repositório remoto com um nome específico.
  19. git push add origin main
    • Executado para efetuar push das alterações locais para o repositório online.

5. Autenticações do GitHub

>> NOME DE USUÁRIO E SENHA

  1. É considerada arriscada para informações sensíveis.
  2. Recomenda-se explorar outras opções mais seguras disponíveis.

>> TOKENS DE ACESSO PESSOAL

  1. Os PATs (Tokens de Acesso Pessoal) são como senhas especiais que substituem o uso da senha normal ao acessar o GitHub pela API ou pela linha de comando.
  2. Você cria esse token nas configurações do GitHub e decide quais ações ele pode realizar em um repositório ou organização.
  3. Quando você usa a linha de comando do Git para trabalhar no GitHub, em vez de digitar seu nome de usuário e senha, você insere esse token para se autenticar.
  4. Torna a interação mais segura e prática.

>> CHAVES SSH

  1. chaves especiais que ajudam as pessoas a se conectarem a computadores remotos de forma segura, sem precisar sempre digitar senha ou token.
  2. É protegida por uma "frase secreta" para garantir ainda mais segurança.
    • É possível configurar seu computador para usar essa chave automaticamente, ou digitar a "frase secreta" quando necessário.
  3. É possível usar essas chaves em organizações que usam uma forma avançada de login.
    • Se a organização fornece certificados especiais, as pessoas podem usá-los para acessar os repositórios sem precisar adicionar nada à sua conta no GitHub.

>> CHAVES DE IMPLEMENTAÇÃO

  1. Chaves especiais que permitem acesso a apenas um lugar específico no GitHub, como um cofre digital.
  2. No GitHub, a parte da chave que todos podem ver é conectada diretamente ao local desejado (um repositório), enquanto a parte secreta fica guardada no seu próprio computador.
  3. Essas chaves são configuradas para permitir apenas leitura por padrão
    1. você pode ver o que está dentro, mas não modificar nada.
    2. Se quiser também fazer alterações, você pode configurar essas chaves para ter permissão de escrita, adicionando-as ao local específico (repositório).
    3. São como chaves digitais que abrem a porta para um lugar específico no GitHub, e você decide se só quer olhar ou também mexer nas coisas.

Opções de seguranças adicionais

>> Autenticação de dois Fatores - 2FA

  1. adiciona uma camada extra de segurança quando você entra em sites ou aplicativos.
    1. Além de digitar seu nome de usuário e senha, você precisa fornecer mais uma prova de que é realmente você.
    2. No caso do GitHub, essa prova extra geralmente é um código gerado por um aplicativo no seu celular ou enviado por mensagem de texto.
  2. Depois de ativar a 2FA, sempre que alguém tenta entrar na sua conta, o GitHub pede esse código adicional.

>> SSO do SAML

  1. Permite controlar o acesso aos recursos da organização de maneira centralizada.
  2. Em vez de usar senhas, os usuários são redirecionados para um sistema central de login (IdP), como o Microsoft Entra ID ou Okta. Após autenticados lá, eles retornam ao GitHub com acesso aos recursos da organização.
  3. Facilita o gerenciamento, pois os proprietários da organização controlam quem pode acessar o quê.
  4. O GitHub suporta vários provedores populares, como:
    1. Active Directory;
    2. Microsoft Entra ID;
    3. Okta.

>> LDPA

  1. Protocolo usado para acessar e organizar informações em diretórios, especialmente em grandes empresas.
  2. No contexto do GitHub Enterprise Server, ele permite integrar e gerenciar centralmente o acesso aos repositórios usando contas existentes.
  3. O GitHub Enterprise Server é compatível com vários serviços LDAP conhecidos, como:
    1. Active Directory;
    2. Oracle Directory Server Enterprise Edition;
    3. OpenLDAP;
    4. outros.
  4. Em resumo, o LDAP é uma ferramenta que ajuda na organização e controle de acesso em ambientes corporativos no GitHub.

Links importantes

6. Tokens de Acesso Pessoal

O token de acesso pessoal do GitHub é uma forma de autenticação usada para acessar recursos e realizar ações na plataforma GitHub em nome de um usuário.

Passo a Passo - Prático:

Passo 1: Crie um Token de Acesso Pessoal

  1. Acesse o GitHub e vá para "Settings" (Configurações) do seu perfil.
  2. No menu lateral, selecione "Developer settings" (Configurações do desenvolvedor).
  3. Clique em "Personal access tokens" (Tokens de acesso pessoal) e depois em "Generate token" (Gerar token).
  4. Siga as instruções para configurar as permissões necessárias e clique em "Generate token" no final.
  5. Copie o token gerado.

Passo 2: Clone um Repositório Usando o Token

  1. Abra o Git Bash no seu computador.
  2. No terminal, use o seguinte comando para clonar um repositório usando o token:
git clone https://SEU_TOKEN_AQUI@github.com/seu-usuario/seu-repositorio.git

Substitua SEU_TOKEN_AQUI pelo token que você copiou e seu-usuario/seu-repositorio.git pelo caminho do repositório que você deseja clonar.

Por exemplo:

git clone https://seu-token-aqui@github.com/seu-usuario/meu-projeto.git

7. Configurando - Chave SSH

Chaves SSH são como chaves especiais que ajudam as pessoas a se conectarem a computadores remotos de forma segura, sem precisar sempre digitar senha ou token.

Passo a Passo - Prático:

1. Verificar se você já possui uma chave SSH

Antes de gerar uma nova chave SSH, verifique se você já possui uma. No terminal, execute o seguinte comando:

ls -al ~/.ssh

Se você já tiver uma chave SSH, normalmente os arquivos terão nomes como id_rsa (chave privada) e id_rsa.pub (chave pública).

2. Gerar uma nova chave SSH (se necessário)

Se você não tiver uma chave SSH ou desejar gerar uma nova, use o seguinte comando:

ssh-keygen -t rsa -b 4096 -C "seu_email@example.com"
  • -t rsa: Especifica o tipo de chave (RSA).

  • -b 4096: Define o número de bits na chave (4096 bits é uma boa prática para maior segurança).

  • -C "seu_email@example.com": Adiciona um comentário para ajudar a identificar a chave (substitua pelo seu e-mail do GitHub).

Pressione Enter para aceitar o caminho padrão do arquivo (~/.ssh/id_rsa) e, se desejar, configure uma senha para a chave.

3. Adicionar a chave SSH ao agente SSH (opcional)

Para facilitar a gestão das chaves, você pode adicionar a chave ao agente SSH:

eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa

4. Observações adicionais

  • É possível adicionar uma senha a chave privada para adicionar mais uma camada de segurança, para isso:

Gerar nova chave com senha:

ssh-keygen -t rsa -b 4096 -C "seu_email@example.com"

Adicionar uma senha a uma chave existente

ssh-keygen -p -f ~/.ssh/sua_chave_privada

Substitua sua_chave_privada pelo caminho e nome do arquivo da sua chave privada atual.

8. Configurando - 2FA

A autenticação de dois fatores (2FA) adiciona uma camada extra de segurança ao nosso login, exigindo que a gente forneça duas formas de identificação antes de acessar sua conta.

Passo 1: Acesse as Configurações da Conta

  1. Faça login na sua conta GitHub.
  2. No canto superior direito, clique na sua foto de perfil e selecione "Settings" (Configurações).

Passo 2: Acesse a Seção de Password and Authentication

  1. No menu à esquerda, clique em "Password and Authentication" (Senha e Autenticação).

Passo 3: Configurar a Autenticação de Dois Fatores

  1. No fim da página de Senhas e Autenticações, você verá a seção "Two-factor authentication" (Autenticação de dois fatores). Clique no botão "Enable two-factor authentication" (Habilite a autenticação de dois fatores).
  2. Escolha o método de autenticação que você prefere. GitHub oferece duas opções principais:
    • SMS: Você receberá um código de autenticação via mensagem de texto.
    • Authentication App: Você usará um aplicativo de autenticação (como Google Authenticator, Authy, etc.) para gerar códigos temporários.
  3. Siga as instruções específicas para o método escolhido. Se optar por um aplicativo de autenticação, geralmente envolve escanear um código QR ou inserir uma chave manualmente.
  4. Após configurar o método, você será solicitado a inserir um código de verificação para confirmar que tudo está funcionando corretamente.

Passo 4: Armazenar Códigos de Recuperação

  1. Após a configuração, o GitHub geralmente fornece códigos de recuperação. Esses códigos devem ser armazenados em um local seguro, pois podem ser usados para acessar sua conta se você perder o acesso ao método de autenticação principal.

Passo 5: Conclusão

Após concluir esses passos, sua autenticação de dois fatores estará ativada. Sempre que você fizer login no GitHub, será necessário fornecer não apenas sua senha, mas também o código de autenticação gerado pelo método escolhido.

9. Colaboração com o Github

Repositório

  • Local onde contém todos os arquivos de um projeto.

Branches

  1. linha de desenvolvimento separada no controle de versão.
  2. Permite que a gente trabalhe em modificações no código sem afetar diretamente o código principal (geralmente chamado de branch principal, como "main" ou "master").
  3. facilita o desenvolvimento simultâneo de recursos ou correções de bugs sem interferir no código estável da versão principal.
  4. Depois de concluir as alterações em uma branch, você pode mesclar essas alterações de volta ao branch principal.

Pull Resquest e Merge

  1. Um Pull Request (PR), em português, significa "Solicitação de Pull" ou "Pedido de Mesclagem".

  2. O objetivo principal de um Pull Request é propor alterações em um repositório e solicitar que essas alterações sejam revisadas e mescladas (merged) no código principal.

  3. "merge" é uma operação no controle de versão que combina as alterações de duas branches diferentes.

  4. Quando a gente conclui o desenvolvimento em uma branch e deseja incorporar essas alterações de volta à branch principal (ou a outra branch desejada), realizamos um merge.

Fork

  1. Cópia de um repositório (um projeto de software) de outra pessoa para o seu próprio espaço no GitHub.
  2. Permite que você faça alterações no código sem afetar o projeto original.
  3. Se você quiser contribuir de volta, pode enviar um "pull request" para que o dono do projeto original considere suas mudanças e as incorpore.

Issues

  1. São usadas para rastrear tarefas, bugs, melhorias ou qualquer discussão relacionada ao código-fonte do projeto.
  2. Nos fornecem um meio de comunicação e colaboração entre os membros da equipe e da comunidade.
  3. As issues podem ser abertas por qualquer pessoa, incluindo desenvolvedores do projeto e usuários externos.
  4. Servem para discussões, planejamento, atribuição de tarefas e acompanhamento do progresso.

Wikis no GitHub:

Propósito: As Wikis no GitHub têm como propósito fornecer uma plataforma colaborativa para documentação de projetos. Elas são espaços onde membros da comunidade podem contribuir com informações, tutoriais e detalhes sobre o projeto, facilitando a compreensão e colaboração.

Para que serve:

  1. Documentação Colaborativa: Permite que membros da comunidade contribuam para a criação e atualização da documentação do projeto.
  2. Transparência: Torna a informação acessível a todos, promovendo transparência sobre o funcionamento do projeto.
  3. Aprimoramento Contínuo: Facilita a melhoria contínua da documentação à medida que o projeto evolui.
  4. Acesso Rápido: Oferece um local centralizado para informações importantes relacionadas ao projeto.

Passo a Passo para Utilizar Wikis no GitHub:

  1. Criar uma Wiki:
    • Vá para o repositório no GitHub.
    • Clique na aba "Wiki".
    • Se não existir uma Wiki, você será solicitado a criar uma.
  2. Editar Conteúdo:
    • Cada página na Wiki tem um botão "Editar".
    • Clique em "Editar" para modificar o conteúdo.
    • Utilize a linguagem de marcação Markdown para formatar a página.
  3. Histórico de Revisão:
    • A Wiki mantém um histórico de revisões.
    • É possível visualizar e reverter para versões anteriores.
  4. Controle de Acesso:
    • Gerencie quem pode editar a Wiki através das configurações de permissões do repositório.

Gists no GitHub:

Propósito: Os Gists no GitHub são destinados a serem repositórios Git pequenos e independentes, geralmente contendo um único arquivo. Eles são úteis para compartilhar pequenos trechos de código, notas ou até mesmo scripts.

Para que serve:

  1. Compartilhamento Rápido: Permite compartilhar rapidamente pequenos trechos de código ou informações.
  2. Colaboração Simples: Facilita a colaboração em pequenos projetos ou soluções específicas.
  3. Visualização Direta: Os Gists podem ser visualizados diretamente no navegador, sem a necessidade de clonar o repositório.

Passo a Passo para Utilizar Gists no GitHub:

  1. Criar um Gist:
    • Vá para a página inicial do GitHub.
    • Clique em "Gist" no canto superior direito.
    • Adicione seu código ou texto e forneça uma descrição.
  2. Personalização:
    • Escolha as opções de visibilidade (público, secreto, privado).
    • Adicione um nome de arquivo e uma descrição significativa.
  3. Salvar e Compartilhar:
    • Clique em "Create Gist" para salvar.
    • O Gist terá uma URL única para compartilhar.
  4. Revisões e Forks:
    • Assim como em repositórios, os Gists mantêm um histórico de revisões e podem ser bifurcados (forked).

Atenção Não utilizamos mais o termo "master" como o nome padrão para o branch principal, pois tem sido uma prática bastante questionada em vários contextos devido à associação histórica e simbólica do termo com a escravidão. Muitas comunidades de desenvolvimento e organizações estão buscando tornar a linguagem mais inclusiva e consciente das questões sociais.

Observação: Lembrando que há outras formas de fazer esse procedimento, mas faremos inicialmente dessa forma, é a mais simples e objetiva para os nossos propósitos. No decorrer do curso, veremos outros processos de criação e clonagem dos nossos projetos.

10. Adicionar, Commitar e Enviar Arquivos para o Github

Um dos passos fundamentais no Github é o processo de adicionar, commitar e enviar os arquivos para os nossos repositórios no github, a baixo, podemos ver o passo a passo desses procedimentos.

1. Inicializar um repositório Git

Se você ainda não tem um repositório Git, inicie um novo ou clone um existente:

# Iniciar um novo repositório
git init

# OU

# Clonar um repositório existente
git clone https://github.com/seu-usuario/seu-repositorio.git

2. Adicionar arquivos ao repositório

Adicione os arquivos que você deseja enviar para o repositório:

# Adicionar todos os arquivos no diretório
git add .

# OU

# Adicionar um arquivo específico
git add nome-do-arquivo

3. Commitar as mudanças

Comite as mudanças adicionadas, fornecendo uma mensagem descritiva:

# A mensagem do commit deve ser clara e concisa, explicando o que foi alterado.
git commit -m "Mensagem do commit aqui"

4. Enviar para o GitHub

Se ainda não vinculou seu repositório local a um repositório remoto no GitHub, faça isso:

git remote add origin https://github.com/seu-usuario/seu-repositorio.git

Agora, envie as alterações para o GitHub:

git push -u origin branch-name

Substitua branch-name pelo nome da sua branch atual (geralmente é main ou master).

11. Formatação com o Markdown

Nesta aula, descobriremos a estrutura e a sintaxe do Markdown. Também veremos recursos do GitHub-Flavored Markdown (GFM), que são extensões de sintaxe que permitem integrar recursos do GitHub.

Markdown

  • linguagem de marcação que oferece uma abordagem simplificada para edição de conteúdo, protegendo os criadores de conteúdo das complexidades do HTML.
  • Enquanto o HTML é excelente para renderizar o conteúdo exatamente como foi pretendido, ele ocupa muito espaço e pode ser difícil de trabalhar, mesmo em pequenas doses.
  • A invenção do Markdown ofereceu um ótimo equilíbrio entre o poder do HTML para descrição de conteúdo e a facilidade do texto simples para edição.

Estrutura e Sintaxe do Markdown

Nesta unidade, discutiremos a estrutura e a sintaxe do Markdown. Também abordaremos recursos do GitHub-Flavored Markdown (GFM), que são extensões de sintaxe que permitem integrar recursos do GitHub ao conteúdo.

Sintaxe

Enfatizar Texto

Usar itálico no texto é tão fácil quanto cercar o texto-alvo com um único asterisco (*) ou um único sublinhado (_). Certifique-se apenas de fechar uma ênfase com o mesmo caractere com o qual a abriu. Esteja atento à combinação de asteriscos e sublinhados. Aqui estão alguns exemplos:

Isso é texto *itálico*.
Isso também é texto _itálico_.

Crie texto em negrito usando dois asteriscos (**) ou dois sublinhados (__).

Isso é texto **negrito**.
Isso também é texto __negrito__.

Você também pode misturar diferentes ênfases.

_Isso é texto **itálico e negrito**_ usando um único sublinhado para itálico e dois asteriscos para negrito.
__Isso é texto negrito e *itálico*__ usando dois sublinhados para negrito e um único asterisco para itálico.

Para usar um asterisco literal, anteceda-o com um caractere de escape; no GFM, isso é uma barra invertida (). Este exemplo resulta em sublinhados e asteriscos sendo mostrados na saída.

\_Isso é todo \*\*texto\*\* simples\_.

Declarar Cabeçalhos

HTML fornece cabeçalhos de conteúdo, como a tag <h1>. No Markdown, isso é suportado via símbolo #. Basta usar um # para cada nível de cabeçalho de 1 a 6.

###### Isso é texto H6

Link para Imagens e Sites

Links de imagem e site usam uma sintaxe semelhante.

![Link de uma imagem.](/learn/azure-devops/shared/media/mara.png)
[Link para o Treinamento da Microsoft](/training)

Criar Listas

Você pode definir listas ordenadas ou não ordenadas. Também é possível definir itens aninhados por meio de indentação.

Listas ordenadas começam com números. Listas não ordenadas podem usar asteriscos ou traços (-).

Aqui está o Markdown para uma lista ordenada:

1. Primeiro
1. Segundo
1. Terceiro

Resultado:

    Primeiro
    Segundo
    Terceiro
- Primeiro
  - Aninhado
- Segundo
- Terceiro

Aqui está o Markdown para uma lista não ordenada:

    Primeiro
        Aninhado
    Segundo
    Terceiro

Construir Tabelas

Você pode construir tabelas usando uma combinação de barras verticais (|) para quebras de coluna e traços (-) para designar a linha anterior como cabeçalho.

Primeiro | Segundo
-|-
1 | 2
3 | 4

Resultado:

    Primeiro 	Segundo
    1 	2
    3 	4

Citar Texto

Você pode criar blocos de citação usando o caractere maior que (>).

> Este é um texto citado.

Preencher as lacunas com HTML inline

Se você se deparar com um cenário HTML não suportado pelo Markdown, pode usar HTML inline.

Aqui está uma<br/>quebra de linha

    Aqui está uma
    quebra de linha

Trabalhar com Código

Markdown fornece um comportamento padrão para trabalhar com blocos de código inline delimitados pelo caractere de crase (`). Ao decorar o texto com este caractere, ele é renderizado como código.

Isso é `código`.

Se você tiver um segmento de código abrangendo várias linhas, pode usar três crases (```) antes e depois para criar um bloco de código cercado.

var primeiro = 1;
var segundo = 2;
var soma = primeiro + segundo;
var primeiro = 1;
var segundo = 2;
var soma = primeiro + segundo;

O GFM estende esse suporte com destaque de sintaxe para linguagens populares. Basta especificar a linguagem como parte da primeira sequência de crases.

var primeiro = 1;
var segundo = 2;
var soma = primeiro + segundo;

Vincular problemas e solicitações de pull

O GFM oferece suporte a vários formatos de shortcode para facilitar a vinculação a problemas e solicitações de pull. A maneira mais fácil de fazer isso é usar o formato #ID, como #3602. O GitHub ajusta automaticamente links mais longos para esse formato se você os colar. Existem também convenções adicionais que você pode seguir, se estiver trabalhando com outras ferramentas ou deseja especificar outros projetos/branches.

Tipo de referência Referência bruta Link curto
URL do problema ou solicitação de pull https://github.com/desktop/desktop/pull/3602 #3602

e número do problema ou solicitação de pull | #3602 | #3602

GH- e número do problema ou solicitação de pull | GH-3602 | GH-3602 Nome de usuário/Repositório# e número do problema ou solicitação de pull | desktop/desktop#3602 | desktop/desktop#3602

Para obter mais informações, consulte o artigo "Referências e URLs autolinked" na unidade de Resumo no final deste módulo.

Vincular commits específicos

Você pode vincular a um commit colando seu ID ou simplesmente usando seu algoritmo hash seguro (SHA).

Tipo de referência Referência bruta Link curto
URL do commit https://github.com/desktop/desktop/commit/8304e9c271a5e5ab4fda797304cd7bcca7158c87 8304e9c
SHA 8304e9c271a5e5ab4fda797304cd7bcca7158c87 8304e9c
Usuário@SHA desktop@8304e9c271a5e5ab4fda797304cd7bcca7158c87 desktop@8304e9c
Nome de usuário/Repositório@SHA desktop/desktop@8304e9c271a5e5ab4fda797304cd7bcca7158c87 desktop/desktop@8304e9c

Mencionar usuários e equipes

Digitar um símbolo @ seguido de um nome de usuário do GitHub envia uma notificação para essa pessoa sobre o comentário. Isso é chamado de "@mention", porque você está mencionando o indivíduo. Você também pode @mencionar equipes dentro de uma organização.

@githubteacher

Rastrear listas de tarefas

Você pode criar listas de tarefas dentro de problemas ou solicitações de pull usando a seguinte sintaxe. Isso pode ser útil para acompanhar o progresso quando usado no corpo de um problema ou solicitação de pull.

- [x] Primeira tarefa
- [x] Segunda tarefa
- [ ] Terceira tarefa

Comandos de barra

Comandos de barra podem economizar tempo, reduzindo a digitação necessária para criar Markdown complexo.

Você pode usar comandos de barra em qualquer campo de descrição ou comentário em problemas, solicitações de pull ou discussões onde esse comando de barra é suportado.

Comando Descrição
/code Insere um bloco de código Markdown. Você escolhe o idioma.
/details Insere uma área de detalhes expansível. Você escolhe o título e o conteúdo.
/saved-replies Insere uma resposta salva. Você escolhe entre as respostas salvas para sua conta de usuário. Se adicionar %cursor% à sua resposta salva, o comando de barra coloca o cursor nessa localização.
/table Insere uma tabela Markdown. Você escolhe o número de colunas e linhas.
/tasklist Insere uma lista de tarefas. Este comando de barra só funciona em uma descrição de problema.
/template Mostra todos os modelos no repositório. Você escolhe o modelo a ser inserido. Este comando de barra funciona para modelos de problema e um modelo de solicitação de pull.

12. Github Desktop

O GitHub Desktop é uma interface gráfica fácil de usar para o sistema de controle de versão Git.

Projetado para simplificar o processo de interação com repositórios Git, o GitHub Desktop é uma ferramenta intuitiva que permite aos desenvolvedores gerenciar seus projetos de forma eficiente, sem a necessidade de comandos de linha complexos.

Principais Características:

  • Interface Gráfica Intuitiva: O GitHub Desktop oferece uma interface amigável, facilitando a visualização das alterações, branches e histórico do repositório.
  • Operações Básicas sem Comandos de Linha: Com a facilidade de clicar e arrastar, os usuários podem clonar repositórios, criar branches, realizar commits e realizar outras operações sem a necessidade de memorizar comandos Git.
  • Visualização de Histórico: Permite uma visualização clara do histórico de commits, facilitando a identificação e reversão de alterações específicas.
  • Resolução de Conflitos Simplificada: Oferece uma experiência simplificada para resolver conflitos durante o merge de branches, permitindo que os desenvolvedores lidem com problemas de maneira eficiente.

Quem Pode Utilizar:

  • Desenvolvedores Iniciantes: Ideal para aqueles que estão começando a usar o Git e desejam uma abordagem mais visual e amigável.
  • Desenvolvedores que Preferem Interfaces Gráficas: Aqueles que preferem uma abordagem baseada em interface gráfica em vez de comandos de linha de comando podem encontrar no GitHub Desktop uma ferramenta eficaz.

Como Utilizar o GitHub Desktop:

  1. Clonar um Repositório: Inicie o aplicativo, escolha a opção de clonar um repositório e forneça a URL do repositório desejado.
  2. Realizar Alterações: Faça alterações nos arquivos do projeto. O GitHub Desktop exibirá claramente as alterações pendentes.
  3. Commit e Push: Adicione as alterações ao commit, forneça uma mensagem descritiva e faça o push para o repositório remoto.
  4. Gerenciar Branches: Crie, mescle e delete branches facilmente através da interface gráfica.

Outros Conceitos Importantes:

  • Pull Requests: O GitHub Desktop integra-se perfeitamente com o GitHub, facilitando o processo de criação e revisão de Pull Requests.
  • Sincronização com o GitHub: As alterações realizadas no GitHub Desktop podem ser facilmente sincronizadas com o repositório hospedado no GitHub.

13. Github Web

O GitHub Web é a interface baseada na web da plataforma GitHub, oferecendo um ambiente centralizado para gerenciar repositórios Git, colaborar em projetos e interagir com a comunidade de dev.

A interface web é bastante robusta e fornece uma ampla gama de recursos, desde rastreamento de problemas até revisões de código, tornando-se uma peça fundamental para a colaboração efetiva no desenvolvimento de software.

Principais Características:

  • Navegação Intuitiva: Uma interface web intuitiva que permite aos usuários navegar facilmente por repositórios, organizações, perfis e outros elementos da plataforma GitHub.
  • Rastreamento de Problemas (Issues): Facilita a criação, atribuição e acompanhamento de problemas (issues), fornecendo um método estruturado para relatar e resolver bugs, solicitações de recursos e outras tarefas.
  • Revisões de Código (Pull Requests): Oferece uma plataforma integrada para criar, revisar e mesclar solicitações de pull, permitindo uma colaboração eficiente entre desenvolvedores.
  • Integração com CI/CD: Suporta integração contínua (CI) e entrega contínua (CD) por meio da integração com diversas ferramentas e serviços, como GitHub Actions.
  • Gestão de Projetos: Permite a criação de painéis de projeto, onde tarefas podem ser organizadas em colunas, fornecendo uma visão clara do andamento do projeto.
  • Wikis e Documentação: Oferece espaços colaborativos para a criação de wikis e documentação associada ao repositório, promovendo a clareza e a compreensão do projeto.

Quem Pode Utilizar:

  • Desenvolvedores e Equipes de Desenvolvimento: O GitHub Web é essencial para qualquer desenvolvedor ou equipe que deseje colaborar em projetos, gerenciar código-fonte e acompanhar o progresso do trabalho.
  • Gestores de Projetos: A interface web oferece ferramentas para gerenciar tarefas, rastrear problemas e coordenar a execução de projetos de forma eficiente.
  • Colaboradores Remotos: Sendo uma plataforma baseada na web, o GitHub Web facilita a colaboração remota, permitindo que desenvolvedores em diferentes localidades trabalhem de forma síncrona em projetos.

Como Utilizar o GitHub Web:

  1. Criar um Repositório: Inicie um novo repositório diretamente na interface web do GitHub.
  2. Interagir com Problemas e Pull Requests: Crie, atribua, comente e resolva problemas, além de gerenciar solicitações de pull.
  3. Explorar o Código: Navegue pelos arquivos, visualize o histórico de commits e explore diferentes branches.
  4. Gerenciar Configurações: Ajuste as configurações do repositório, integrações e colaboradores.

Outros Conceitos Importantes:

  • Gists: Permite a criação de gists, pequenos trechos de código ou notas compartilháveis.
  • Comunidade e Exploração: Além de ser uma plataforma de desenvolvimento, o GitHub Web é um espaço onde os desenvolvedores podem descobrir projetos, participar de comunidades e contribuir para projetos de código aberto.

14. Diferenças entre Github Desktop e Github Web

O GitHub Web e o GitHub Desktop são duas interfaces diferentes para interagir com o GitHub, uma plataforma de hospedagem de código-fonte e colaboração em projetos de software.

GitHub Web:

  1. Interface Baseada em Navegador:
    • O GitHub Web é acessado por meio de um navegador da web, como Chrome, Firefox, Safari, etc.
    • Ele permite visualizar, criar, editar e gerenciar repositórios usando uma interface web.
  2. Funcionalidades Abrangentes:
    • Oferece uma ampla gama de funcionalidades para interação com repositórios, como gerenciamento de problemas (issues), solicitações de pull, controle de versão, colaboração em equipe e muito mais.
  3. Colaboração Online:
    • Facilita a colaboração online, permitindo que várias pessoas contribuam para um projeto simultaneamente.
  4. Acesso Universal:
    • Pode ser acessado de qualquer dispositivo com um navegador, proporcionando uma experiência universal.

GitHub Desktop:

  1. Interface Gráfica para Desktop:
    • O GitHub Desktop é um aplicativo de desktop que fornece uma interface gráfica para interagir com repositórios Git e GitHub.
  2. Simplicidade e Facilidade de Uso:
    • Projetado para ser mais fácil para iniciantes e para aqueles que preferem uma interface gráfica em vez de comandos de linha de comando.
  3. Principais Funcionalidades de Git:
    • Foca nas operações fundamentais do Git, como commit, branch, merge e pull, tornando-as acessíveis por meio de uma interface amigável.
  4. Funcionalidades Limitadas Comparadas ao GitHub Web:
    • Embora ofereça funcionalidades básicas para a maioria dos fluxos de trabalho, algumas funcionalidades avançadas disponíveis no GitHub Web podem não estar presentes.
  5. Uso Offline:
    • Permite realizar operações offline, sincronizando as alterações com o GitHub quando uma conexão com a Internet estiver disponível.

Uso Combinado:

Algumas pessoas preferem usar o GitHub Web para interações mais avançadas e colaborativas, enquanto usam o GitHub Desktop para tarefas básicas e para ter uma interface gráfica ao trabalhar com Git localmente.

Clone this wiki locally