Como conectar o Google Colaboratory ao GitHub


Ter um portfólio bem estruturado é uma etapa muito importante para profissionais que desejam conseguir uma tão sonhada vaga na área da tecnologia. Aprender a compartilhar seus projetos de uma forma organizada e deixá-los disponíveis para que recrutadores consigam ter fácil acesso é crucial para que conheçam um pouco mais sobre suas habilidades e expertises.
Pensando nisso, neste artigo iremos entender como cientistas de dados que utilizam o Google Colaboratory para o desenvolvimento de projetos de Data Science podem compartilhar suas análises e montar seu portfólio utilizando a plataforma de hospedagem de código, o GitHub.
Criando um repositório
Após criar sua conta no GitHub, a primeira etapa para conseguir compartilhar seu notebook é criar um repositório. O repositório vai ser o local no seu GitHub onde seu projeto ficará armazenado. Normalmente cria-se um novo para cada projeto diferente.
Para criar um repositório, ao acessar sua conta, você pode clicar no ícone do seu perfil localizado no canto superior direito da tela e selecionar "Your Repositories”:

Em seguida, você deve ser direcionado(a) para uma tela com os seus repositórios já existentes. Para criar um novo repositório, selecione o ícone verde escrito “New”, localizado na parte superior dessa aba:

Feito isso, aparecerá uma tela onde você deverá nomear o repositório que deseja criar. Você pode nomear como achar mais interessante. O importante é que, ao escrever o nome do repositório, não tenha nenhum espaço nem caracteres especiais, uma vez que esse nome fará parte da URL para acessar seu repositório. Vou nomear o meu repositório de “Bootcamp_Data_Science_Alura”, porque nele eu irei adicionar os notebooks que foram desenvolvidos durante o nosso Bootcamp de Data Science:

Após nomeado, é importante não esquecer de marcar a checkbox descrita como “Add a README file”. Com essa opção marcada, ao criar seu repositório, automaticamente será gerado um arquivo do tipo MD (Markdown). Esse arquivo README.md será utilizado posteriormente para colocar uma descrição a respeito do projeto que se encontra naquele repositório.
Em seguida, selecione a opção “Create repository” para fechar essa janela e ir para a página inicial do seu repositório:


Editando o README
Ao acessar a página inicial do seu repositório, perceba que o arquivo README foi criado. Para editá-lo, basta clicar no ícone do README.md e selecionar o símbolo de lápis que aparece do lado direito:

Dessa forma, irá abrir uma tela onde você poderá escrever uma descrição para seu projeto. O README usa o sistema de formatação Markdown, então podemos utilizar isso para estilizar nosso texto.
O README é o nosso primeiro contato ao acessar seu repositório. Por isso, é importante que ele seja detalhado e contenha um resumo sobre as partes do seu projeto. Depois de escrever as informações do README, ao rolar até o final desta página, você vai encontrar um botão denominado “Commit changes”. Um commit é realizado quando é feita alguma alteração no nosso projeto e é interessante que ele descreva de forma sucinta a alteração que foi realizada, por exemplo:

Salvando o notebook do Google Colab no GitHub
Agora, vamos salvar o notebook do Google Colab, que contém nosso projeto, no repositório que criamos. Para fazer isso é necessário acessar o notebook que deseja adicionar e executar todas as suas células para salvar qualquer modificação que tenha sido realizada. Após, na barra de ferramentas do Colab, você pode acessar Arquivos > Salvar uma cópia no GitHub:

Caso seja a primeira vez que você realiza a conexão do Google Colab ao GitHub, o Colab deverá solicitar o acesso ao GitHub por meio do seu login e senha para que ele possa permitir que seus notebooks sejam salvos. Depois dessa etapa, deve aparecer uma tela denominada Copiar para o GitHub:

Nessa tela, temos 3 campos principais:
Repositório: nessa parte, você deve selecionar o nome do repositório onde deseja salvar seu notebook;
Caminho do arquivo: esse outro campo é designado para você selecionar em qual parte do seu repositório deseja adicionar esse arquivo. Caso você escolha adicionar apenas o arquivo, basta deixar apenas o nome dele. Mas, se desejar que ele fique dentro de alguma pasta específica do seu GitHub, você deve adicionar o nome dessa pasta antes do nome do arquivo e colocar uma “/”, seguindo a estrutura: nome_da_pasta/nome_do_arquivo;
Mensagem de confirmação: assim como o commit, mostrado anteriormente, a mensagem de confirmação é um campo no qual deve ser descrita a alteração que foi realizada no projeto.
Com esses campos preenchidos, ao clicar em “OK”, o notebook será salvo no repositório selecionado e dentro da respectiva pasta que foi criada por meio do “Caminho do arquivo”.
O GitHub normalmente disponibiliza uma prévia do seu notebook no próprio site mesmo. No entanto, ao acessar o repositório logo após ter salvo seu notebook, pode acontecer do carregamento dessa prévia não estar disponível ainda e aparecer um aviso indicando um erro. Mas, após algum tempo, ao sair e acessar novamente o site, logo essa prévia deve ser apresentada:

Criando uma pasta no repositório
Para finalizarmos essa parte e deixar nosso repositório bem estruturado, podemos criar uma pasta chamada “Dados” e adicionar os arquivos de dados que estão sendo utilizados no nosso notebook. Para criar essa pasta no próprio GitHub, é necessário voltar para a página original do repositório e clicar em Add file > Create new file:

Na próxima página, para criarmos a pasta “Dados” devemos digitar “Dados/”, junto com essa barra, para que o GitHub entenda que queremos criar uma pasta:

Agora, para que essa pasta seja devidamente criada é necessário criar um arquivo simbólico, para que o GitHub entenda que você está criando uma pasta na qual poderão ser adicionados arquivos. Como ele será excluído posteriormente, você pode nomeá-lo como preferir:

Agora que a pasta já foi criada, para salvarmos os dados do nosso projeto nela, podemos acessar essa pasta e clicar em Add files > Upload files:

Em seguida, será apresentada uma página onde poderá arrastar o arquivo que deseja fazer upload ou selecionar a opção “choose your files”, para que selecione esse arquivo diretamente das pastas da sua máquina.

Com o arquivo selecionado, você pode escrever seu respectivo commit e clicar em “Commit changes” para salvar as alterações.

O "arquivo_simbolico.txt" anteriormente criado, agora pode ser excluído. Ele existia apenas para que a pasta “Dados” não ficasse vazia, uma vez que não tem como criarmos uma pasta vazia no GitHub. Sendo assim, você só pode excluir o arquivo simbólico a partir do momento que existir outro arquivo na mesma pasta. Para excluí-lo, podemos clicar no arquivo e selecionar o símbolo de lixeira localizado do lado direito:

Salvando as alterações
Agora, nosso repositório está pronto e o projeto está salvo. Mas, e quando fizermos uma alteração no nosso notebook, como podemos salvar essa alteração também no nosso repositório?
É simples! Basta seguir aquele mesmo processo que realizamos anteriormente quando fomos salvar nosso notebook pela primeira vez no repositório. Você pode acessar Arquivos > Salvar uma cópia no GitHub. Na parte de “Caminho do arquivo” é importante colocar o mesmo caminho que colocamos anteriormente, com o nome da pasta e o mesmo nome do arquivo. No espaço onde está escrito “Mensagem de confirmação”, você pode escrever a alteração que foi realizada no notebook e clicar em “OK”.
Veja o exemplo:

E pronto! Alteração salva e commit feito.
Gostou do artigo e quer aprender mais sobre o mundo da Ciência de Dados e também do GitHub? Então não deixe de dar uma conferida na Formação Python para Data Science e nos cursos Git e Github: Controle e compartilhe seu código e Git e GitHub: Estratégias de ramificação, Conflitos e Pull Requests.