Como escritores podem usar o GitHub para armazenar seu trabalho

O logotipo do GitHub.

Existem muitas maneiras de gerenciar e armazenar seus projetos de escrita. Algumas pessoas preferem serviços de armazenamento em nuvem (como o Dropbox) ou editores online (como o Google Docs), enquanto outras usam aplicativos de desktop (como o Microsoft Word). Eu uso algo chamado GitHub.

GitHub: é mais do que apenas código

Eu uso Git e GitHub para armazenar e acessar todos os meus escritos. Git é uma ferramenta eficaz que você pode usar para rastrear alterações em documentos, além de fazer upload para o GitHub de forma super rápida. Também é rápido e simples baixar seu trabalho para um segundo ou terceiro dispositivo.

Se você nunca ouviu falar do GitHub, é o destino mais popular do mundo para armazenar e manter código-fonte aberto. Pode parecer um lugar maluco para hospedar seus escritos, mas não é! Afinal, o código é apenas linhas e linhas de texto, como seu artigo, história ou dissertação.

Por volta de 2013, o  GitHub começou a incentivar as pessoas a criar repositórios para todos os tipos de informação, não apenas código. O GitHub nunca deixou suas raízes de codificação, mas algumas pessoas ainda o usam para armazenar projetos de escrita e outros que não sejam de codificação. Por exemplo, uma pessoa usou Git e GitHub para escrever um livro instrutivo , enquanto outra escreveu um romance . Dê uma olhada no Google e você encontrará todos os tipos de usos malucos para o GitHub.

O que são Git e GitHub?

Interface com guias de um repositório GitHub.
A seção informativa de um repositório GitHub.

Git é um programa de código aberto criado por Linus Torvalds , famoso no Linux. Git rastreia alterações em documentos e torna mais fácil para várias pessoas trabalharem no mesmo documento remotamente. Em linguagem técnica, é chamado de sistema de controle de versão distribuído (ou VCS distribuído). O Git não salva versões arbitrariamente de seus documentos em intervalos definidos. Em vez disso, ele armazena alterações em seus documentos apenas quando você o instrui.

Seus documentos formam um repositório (ou repo), que é apenas um termo sofisticado para a pasta do seu projeto. Sua pasta Documentos no Windows, por exemplo, seria um repositório se você usasse o Git para gerenciá-lo (mas não faça isso).

Quando você armazena alterações em seus documentos no Git, é chamado de “commit”. Um commit é apenas um registro das alterações mais recentes feitas em um documento. Cada confirmação é atribuída a uma longa sequência de números e letras como seu ID.

Se você chamar um commit anterior por seu ID, você não verá o projeto inteiro como você vê no histórico de documentos do Word. Você só vê as alterações mais recentes quando esse commit foi feito. No entanto, isso não significa que todo o projeto não foi gravado. Você pode deletar toda a sua escrita de uma pasta de projeto e ainda obter a versão mais recente de volta com alguns comandos git. Você pode até voltar e ver como era o projeto há uma semana ou seis meses atrás.

Você também pode incluir mensagens para cada commit, o que é muito útil. Por exemplo, se você escreve algo, mas não tem certeza se deseja mantê-lo, apenas faça um commit. A seção então sobrevive em seu histórico de commits, mesmo se você excluí-la do projeto mais tarde.

Git funciona melhor na linha de comando, o que é uma grande vantagem, mas também tem suas desvantagens. A linha de comando é adequada para criar commits e fazer upload de alterações. No entanto, se você quiser ver um histórico de commits, não é o ideal.

É por isso que muitas pessoas gostam do GitHub – um serviço online popular que oferece uma interface da web para seus repositórios Git. No GitHub, você pode facilmente visualizar commits anteriores, bem como baixar sua escrita para vários PCs.

Juntos, Git e GitHub me permitem controlar meu histórico de versões em um nível granular. E é fácil conseguir minha escrita em qualquer PC que pode executar uma linha de comando Bash que, atualmente, inclui máquinas Windows, Mac, Linux e Chrome OS.

Recomendado:  O que é um IDE?

Arquivos de texto simples facilitam as coisas

O sublime editor de texto.
O Git pode ajudar a salvar sua escrita, mas não pode torná-lo um escritor melhor.

Git e GitHub fazem commits em praticamente qualquer tipo de arquivo para escrita, embora funcione melhor com texto simples. Se você escrever no Microsoft Word, funcionará, mas você não poderá ver seus commits anteriores na linha de comando ou no GitHub. Em vez disso, você tem que chamar um commit anterior na linha de comando (chamado de “checkout”), e então abrir seu arquivo Word. O arquivo do Word fica exatamente como quando você fez o commit original, e você pode voltar à sua versão atual com outro comando rápido.

Se você usar o Scrivener , também funciona. Scrivener salva arquivos como texto, por isso também exibe commits anteriores no GitHub e na linha de comando. Mas Scrivener também salva dados que são importantes para o programa, mas não para você. Em cada commit, você acabará com muito lixo que o torna difícil de ler.

Eu uso arquivos de texto simples porque isso é tudo que você precisa para encadear palavras, especialmente em seus primeiros rascunhos.

Introdução ao Git

Vamos entrar nos detalhes técnicos de como tudo isso funciona. Começaremos com o PC e, em seguida, passaremos para a nuvem com o GitHub.

Para começar, você precisa do programa de terminal no macOS ou Linux. Se o seu computador executa o Windows 10, você deve instalar o Ubuntu ou outra distribuição do Linux através do subsistema Windows para Linux (WSL), o que é muito fácil. Você pode verificar nosso tutorial sobre como instalar o shell Linux Bash no Windows 10 . Ou, se você usa uma versão mais antiga do Windows, pode usar o Cygwin para obter um shell Bash .

Abra seu terminal e navegue até a pasta que deseja usar como repositório Git. Para nossos propósitos, digamos que temos uma pasta chamada “MyNovel” na pasta Documentos. Observe que não há espaço entre as palavras de nosso repositório Git. Você tornará sua vida mais fácil se fizer dessa forma, pois Bash não gosta de espaços e lidar com eles fica confuso.

Em seguida, navegue até a pasta MyNovel no terminal. Para fazer isso no Windows 10, o comando é:

cd / mnt / c / Users / [YourUserName] / Documents / MyNovel

Qualquer comando WSL que interage com arquivos salvos no Windows precisa ser usado /mnt/. Além disso, observe que o “c” minúsculo indica a unidade em que você está. Se seus arquivos estiverem em uma unidade “D: /”, então você usa /d/.

Para macOS e Linux, o comando é muito mais simples:

cd ~ / Documents / MyNovel

A partir daqui, os comandos são os mesmos.

Agora, temos que inicializar a pasta MyNovel como um repositório Git. Este comando funciona se você está apenas começando um novo romance ou já tem alguns arquivos salvos dentro.

git init

Sua pasta agora é um repositório Git. Não acredita em mim? Digite isso em:

ls -a

Esse comando pede ao computador para listar tudo na pasta atual, incluindo itens ocultos. Você deve ver algo listado no topo chamado “.git” (observe o ponto). A pasta “.git” oculta é onde o histórico da versão do seu documento é salvo. Você nunca deve precisar abrir isso, mas tem que estar lá.

O Primeiro Compromisso

Antes de fazermos nosso primeiro commit, Git quer saber seu nome e endereço de e-mail. Git usa essas informações para identificar quem fez o commit, e essa informação é incluída no log de commit. Para fins práticos, isso não importa, já que os escritores normalmente voam sozinhos, mas o Git ainda exige isso.

Para definir seu e-mail e endereço, faça o seguinte:

git config --global user.email "[Seu e-mail]"

git config --global user.name "[Seu nome]"

É isso aí. Agora vamos ao primeiro commit.

Vamos supor que haja três documentos na pasta “MyNovel” chamados: “Capítulo1,” “Capítulo2,” e “Capítulo3.” Para salvar as alterações, temos que dizer ao Git para rastrear esses arquivos. Para fazer isso, digite:

git add.

O ponto indica ao Git para monitorar todos os arquivos não rastreados na pasta (ou seja, arquivos para os quais você deseja criar históricos). Este comando também diz ao Git para preparar todos os arquivos atualmente rastreados que foram alterados. Este processo é chamado de arquivos de teste para confirmação.

Recomendado:  Os melhores jogos para seu PC ou laptop com baixo consumo de energia

Para nossos propósitos, a preparação não é tão importante, mas pode ser útil. Se você fizer mudanças no Capítulo 2 e no Capítulo 3, mas quiser apenas comprometer as mudanças no Capítulo 2, você deve encenar o Capítulo 2 assim:

git add Chapter2.doc

Isso diz ao Git que você deseja que as mudanças do Capítulo 2 estejam prontas para o commit, mas não do Capítulo 3.

Agora é hora do primeiro commit:

Git commit -m "Este é meu primeiro commit."

O “-m” é chamado de flag e diz ao Git que você deseja fazer um commit e adicionar uma mensagem, que você vê entre aspas. Eu gosto de usar minhas mensagens de commit para marcar contagens de palavras. Eu também os uso para anotar informações especiais, como: “Este commit inclui uma entrevista com o CEO da Acme Widgets.”

Se estou escrevendo uma história, posso incluir uma mensagem que diz: “Este commit tem a nova cena em que o cachorro foge”. Mensagens úteis tornam mais fácil encontrar seus commits mais tarde.

Agora que começamos a rastrear nossos documentos, é hora de colocar nossa escrita na nuvem com o GitHub. Eu uso o GitHub como um backup extra, um lugar confiável para ver as alterações em meus documentos e uma maneira de acessar minhas coisas em vários PCs.

Introdução ao GitHub

O formulário de texto para criar um novo repositório GitHub.
Você preenche o formulário para criar um novo repositório GitHub.

Primeiro, você precisa se inscrever para uma conta gratuita no GitHub (você não precisa de uma conta paga para criar repositórios privados). No entanto, você só pode colaborar com até três pessoas em um repo privado. Se você tem uma equipe de cinco ou mais pessoas trabalhando em um artigo, você precisa se inscrever para uma conta Pro ($ 7 por mês, até o momento).

Depois de criar sua conta, vamos fazer um novo repo. Faça login em sua conta e vá para  https://github.com/new .

A primeira coisa que precisamos fazer é nomear o repositório. Você pode usar o mesmo nome que usou para a pasta em seu PC. Em “Nome do repositório”, digite “MyNovel”.

A “Descrição” é opcional, mas gosto de usá-la. Você pode digitar algo como “Meu novo romance fabuloso sobre um menino, uma menina e seu cachorro” etc.

Em seguida, selecione o botão de opção “Privado”, mas não marque a caixa chamada “Inicializar este repositório com um README”. Não queremos fazer isso, porque já temos um repositório em nosso PC. Se criarmos um arquivo README agora, isso tornará as coisas mais difíceis.

Em seguida, clique em “Criar Repositório”. Em “Configuração rápida – se você já fez esse tipo de coisa antes”, copie o URL. Deve ser parecido com isto:

https://github.com/[Seu nome de usuário GitHub] /MyNovel.git

Agora, estamos de volta à área de trabalho e à nossa amada linha de comando.

Envie seu repositório de desktop para a nuvem

Uma linha de comando do PC.
Usando Git na linha de comando.

Na primeira vez que você conecta um repo ao GitHub, é necessário usar alguns comandos especializados. O primeiro é:

git remote add origin https://github.com/[Your GitHub User Name] /MyNovel.git

Isso informa ao Git que um repositório remoto é a origem de “MyNovel”. A URL então aponta Git para aquela origem remota. Não fique muito preso ao termo “origem”; é apenas uma convenção. Você pode chamá-lo de “fofo” se quiser – a origem é apenas mais fácil, pois é a forma mais comum de usar o Git.

Quando você carrega novas alterações com o Git, é chamado de “push”. Quando você faz o download das alterações, é chamado de “puxar” ou “buscar”. Agora, é hora de enviar seu primeiro commit para o GitHub. Aqui está o que você faz:

git push -u origin master

Você será solicitado a digitar seu nome de usuário e senha do GitHub. Se você digitar suas credenciais corretamente, tudo será carregado e você estará pronto para prosseguir.

Se quiser mais segurança para seus uploads do GitHub, você pode usar uma chave SSH. Isso permite que você use uma única senha para o upload da chave SSH, para que você não precise digitar todas as credenciais do GitHub todas as vezes. Além disso, apenas alguém com a chave SSH pode fazer upload de alterações de arquivo.

Recomendado:  Como criar, gerenciar e excluir alarmes usando o Siri

Se você quiser mais informações sobre as chaves SSH, o  GitHub tem instruções completas sobre como usá-las . Você também pode salvar suas credenciais Git em seu PC .

É isso aí! Agora, quando você quiser fazer alterações em seus arquivos, pode fazê-lo com estes três comandos curtos (depois de navegar até a pasta “MyNovel”):

git add.

Tradução: “Ei, estágio Git para confirmar todos os arquivos não rastreados, bem como novas alterações nos arquivos que você já está rastreando.”

git commit -m "1.000 palavras na análise do novo iPhone."

Tradução: “Ei Git, salve essas alterações junto com esta mensagem.”

git push origin master

Tradução: “Ei Git, carregue as alterações para a versão original deste projeto no GitHub de minha cópia master neste PC.”

Dicas de bônus do Git e GitHub

É basicamente isso, mas aqui estão algumas dicas extras para tornar sua experiência com Git e GitHub ainda melhor:

Ver compromissos anteriores

Interface de repositório do GitHub de um histórico de commits.
Você pode usar o GitHub para ver os commits anteriores.

Para ver os commits anteriores, vá para o seu repositório MyNovel no GitHub. No topo da página principal, na guia “Código <>”, você vê uma seção que diz, “[X] confirma.”

Clique nele e você verá uma lista de todos os seus commits. Clique no commit desejado e você verá o seu texto (se você o digitou em texto simples e não em Word). Tudo destacado em verde era um novo texto quando o commit foi criado; tudo em vermelho foi excluído.

Use o comando pull

É fácil obter um novo repositório em uma máquina diferente. Basta navegar até onde deseja salvar o repositório na nova máquina, como cd ~/Documents. Em seguida, digite:

git pull https://github.com/[Seu nome de usuário GitHub] /MyNovel.git

Digite suas credenciais, se solicitado, e em alguns segundos, você estará pronto para começar. Agora, envie novas alterações e envie-as de volta ao GitHub via git push origin master. Quando você voltar para o PC onde costuma trabalhar, apenas abra a linha de comando, navegue até a pasta do seu projeto e digite git pull.As novas alterações serão baixadas e assim o seu projeto de escrita estará atualizado em todos os seus dispositivos.

Não cruze córregos

Na maioria das vezes, escrever não é um esforço de equipe e envolve apenas uma pessoa. Por causa disso, este artigo usa o Git de uma forma que não funcionaria para um projeto com várias pessoas. Especificamente, fizemos edições diretamente na versão mestre de nosso romance, em vez de criar o que chamamos de “ramos”. Um ramo é uma versão prática do romance onde você pode fazer alterações sem afetar o mestre original. É como ter duas cópias diferentes de seu romance existindo em paralelo sem afetar a outra. Se você gostar das mudanças no branch de prática, você pode mesclá-los na versão master (ou branch master). Se você não quiser fazer isso, tudo bem também. Basta jogar fora o ramo de prática.

Ramificações são muito poderosas e usá-las seria o fluxo de trabalho principal com vários gravadores em um único projeto. Escritores solo não precisam realmente usar branches, na minha opinião – contanto que você não faça alterações diferentes no branch master ao mesmo tempo em vários PCs.

Por exemplo, você deve completar seu trabalho em seu desktop, fazer seus commits e então enviar as mudanças para GitHub. Em seguida, vá para o seu laptop e retire todas as novas alterações antes de fazer qualquer outra edição. Do contrário, você pode acabar com o que o Git chama de “conflitos”. É quando Git diz: “Ei, há mudanças no GitHub e neste PC que não correspondem. Ajude-me a descobrir isso. ”

Encontrar uma saída para um conflito pode ser uma dor, portanto, é melhor evitá-lo sempre que possível.

Depois de começar a usar o Git, há toneladas de coisas que você pode aprender, como ramificação, a diferença entre fetch e pull, quais são as solicitações de pull do GitHub e como lidar com o temido conflito.

O Git pode parecer complicado para os novatos, mas assim que você pegar o jeito, é uma ferramenta poderosa que você pode usar para gerenciar e armazenar sua escrita.