O GitHub é uma plataforma de colaboração e gestão de versões de código aberto para programadores de software. Baseia-se no Git, uma ferramenta de controlo de versões de código aberto. Fornece uma cronologia de desenvolvimentos sem perdas, que pode ser facilmente multi-utilizador, especificando o autor, a data e a descrição (mensagem) de cada alteração feita por um dos utilizadores. Existe um sistema de ramificação para diferentes versões de código com um núcleo comum.
Aquilo a que chamamos um repositório Git é uma espécie de sistema de ficheiros (base de dados), que regista as versões dos ficheiros de um projeto em momentos específicos sob a forma de instantâneos. É importante acompanhar os seus desenvolvimentos nos seus projectos bem estruturados.
É importante saber que o Github não é o único site de repositórios que funciona com o Git. As linhas de comando deste tutorial também são compatíveis com GitLab, Gerrit, Bitbucket e Codebase, para citar os mais conhecidos. Neste tutorial, vamos concentrar-nos no Github.
Instalação
Instalar o Git Bash: Isto permitirá que o Terminal do seu computador reconheça e execute os comandos Git que veremos mais tarde.
Também pode instalar o Git no Linux com o seguinte comando na consola :
sudo apt-get install git
Instalando o TortoiseGit: O TortoiseGit é uma extensão do Windows para utilizar os comandos Git graficamente através do Explorador de Ficheiros. As funções Git serão opções adicionais acessíveis ao clicar com o botão direito do rato em qualquer pasta.
Clonagem de um repositório
Uma vez instalado o Git, é necessário começar por clonar um repositório criado no Github. Quando o seu repositório do Github estiver pronto, abra o terminal de comandos e comece por criar o diretório no seu computador que irá receber o clone do repositório.
mkdir nom-de-repertoire cd nom-de-repertoire
Em seguida, configura o Git com os seus identificadores (adapta o conteúdo):
git init git config --global user.name "VotrePrénom VOTRENOM"git config --global user.email "votremail@mail.com"
E acabamos por clonar o repositório num ficheiro :
git clone https://github.com/VotreRepository [NomRepertoire]
Download de um repositório de linha de comando no Linux
Para descarregar ficheiros de um repositório, é necessária uma chave de segurança (ou token) associada à sua conta github.
Criar uma chave SSH no github :
$ ssh-keygen -t ed25519 -C "your_email@example.com"
iniciar o ssh-agent e adicionar a chave ao ssh-agent
$ eval "$(ssh-agent -s)"
$ ssh-add ~/.ssh/id_ed25519
Por fim, adicione a chave SSH à sua conta
Introduzir o seguinte comando para visualizar a tecla ” “
$ cat ~/.ssh/id_ed25519.pub
Copie o resultado do comando para as definições da sua conta github no menu Chaves SSH e GPG.
Depois de a chave ter sido gerada e associada à sua conta, pode introduzir o seguinte comando para descarregar o repositório
git clone git@github.com:<account_name>/<repo_name>.git
Atualização de alterações (add, commit, push e pull)
Depois de clonar o seu repositório no seu diretório, se tiver feito alterações no diretório, quer seja um novo ficheiro ou uma alteração a um ficheiro existente, terá agora de atualizar o repositório em linha, que manterá um registo das suas alterações:
git add NomDuFichier.extension git commit -m "commentaire"
add adiciona um novo arquivo ou suas modificações ao repositório atual. Você pode fazer vários em sequência. O commit permite que você faça alterações no repositório, incluindo os arquivos que acabou de adicionar e as alterações feitas nos arquivos com o git add. Você pode adicionar (e isso é altamente recomendado) um comentário ao commit para especificar o que foi alterado, adicionado ou excluído. Isso facilitará a leitura do histórico de commits no repositório.
git push origin main
push é usado para fazer push do branch atual para o branch que você deseja direcionar no repositório remoto. Aqui, origin main especifica o push do branch principal (local) para o branch principal (origem). A partir de agora, você verá as alterações no seu repositório aparecerem no repositório on-line, juntamente com o commit e o respectivo comentário feito imediatamente antes. git add, git commit e git push são comandos complementares.
git pull origin main
pull descarrega e funde novos dados do repositório remoto no seu diretório. Isso atualizará seu diretório em relação ao repositório on-line com os últimos commits que foram enviados para ele. Também pode adicionar a opção -rebase antes do repositório e da origem, para que, em vez de fazer merge dos novos dados, faça rebase do seu diretório (mas nunca faça isto num repositório público).
Listas de comandos básicos
Segue-se uma lista não exaustiva de comandos Git que é útil conhecer:
git status
status mostra o estado dos ficheiros no diretório atual. Existem 3 estados diferentes:- Ficheiros não rastreados: ficheiros não versionados (que não foram adicionados e são novos);- Alterações a confirmar: modificações (adições, eliminações, alterações) carregadas na área de preparação (adicionar mas não confirmar) ou indexadas;- Alterações não preparadas para confirmação: modificações que não foram carregadas na área de preparação (ficheiros que já existem mas não foram adicionados ou confirmados).
git reset Nomdufichier.extension
reset cancela as alterações indexadas a um ficheiro.
git checkout -- Nomdufichier.extension
checkout é utilizado para cancelar alterações a um ficheiro que ainda não tenha sido indexado.
git log
log mostra o histórico dos commits.
git rm Nomdufichier.extension
rm é utilizado para indexar a eliminação de um ficheiro. Pode adicionar a opção -cached antes do nome do ficheiro para anular a eliminação do ficheiro.
git diff
diff é usado para exibir detalhes de modificações não indexadas. Você pode adicionar a opção – staged para modificações indexadas.
git remote
remote é usado para exibir a lista de todos os repositórios remotos do projeto (alguns projetos podem funcionar com diferentes repositórios remotos para um único projeto).
git remote add Nom https://github.com/VotreRepository
O remote add é uma alternativa ao git clone, mas enquanto o git clone copia o repositório on-line, aqui você adiciona um novo repositório ao lado de um que já existe no seu computador, no seu diretório.
git fetch origin
fetch recupera alterações de um repositório remoto (o nome do repositório geralmente é origin, mas você pode adaptá-lo para atender às suas necessidades).
Utilizar o Tortoise
Para aqueles que não têm vontade de escrever linhas de comando num terminal no Windows, pode utilizar o TortoiseGit para utilizar o Git graficamente.
Crie uma pasta vazia e clique com o botão direito do rato sobre ela. As opções do TortoiseGit aparecerão, dando-lhe acesso aos vários comandos Git:
Começamos por configurar o TortoiseGit clicando em Settings :
Para alterar o nome e o e-mail, clique em Edit global .gitconfig e introduza o seu nome e e-mail.
Pode então clonar um repositório clicando em Clonar :
Na primeira vez que clonar um repositório, poderão abrir-se janelas adicionais pedindo-lhe para se ligar à sua conta Github. Faça-o.
Para recuperar os dados, basta clicar em Pull. Aqui pode escolher de que ramo e de que repositório pretende obter os dados:
Para enviar as alterações efectuadas localmente, basta clicar em Commit. É aconselhável escrever um comentário, o nome do autor do commit e a data e hora. Também pode fazer Push ao mesmo tempo, utilizando a opção Commit&Push. Clique em Log para ver o histórico de commits: