Escolar Documentos
Profissional Documentos
Cultura Documentos
Controle de Verso um sistema que grava as mudanas ocorridas nos arquivos com o passar do tempo para que voc possa recuperar verses anteriores especificas. No nosso caso, como desenvolvedores, iremos versionar nosso cdigo-fonte, embora voc possa faz-lo com qualquer tipo de arquivo.
Sua Identidade
Ao instalar o Git a primeira coisa a se fazer configurar a sua identidade no Git. Isso importante porque por exemplo, todo Commit que voc realizar utilizaro destas informaes. Rode os seguinte comandos no Bash
git config --global user.name "Rodrigo Vidal" git config --global user.email rodrigovidal777@gmail.com
Aps ter configurado sua identidade, voc pode verificar suas configuraes globais com o comando
git config --list
Logo aparecer a seguinte mensagem: "Enter file in which to save the key (/c/Users/Me/.ssh/id_rsa)" Pressione Enter. Em seguida ser solicitado a criao de uma senha. Agora abra o arquivo id_rsa.pub gerado (Ex.: C:/Users/rodrigovidal/.ssh) com um editor de texto e copie todo o seu conteudo. V ao GitHub -> Account Settings -> SSH Public Keys. Clique em "Add another public key". D um nome para a chav pblica que voc criou . Cole o contedo do arquivo id_rsa.pub que voc copiou no passo anterior no campo key. Agora basta salvar. Para testar a sua conexo com o GitHub digite no Bash:
ssh git@github.com
Se tudo deu certo voc receber uma mensagem dizendo que voc foi autenticado com sucesso!
Este comando cria um subdiretrio escondido chamado ".git" que contm todos os arquivos necessrios para o repositrio, ou seja, ele cria um esqueleto do seu repositrio Git. Neste momento nada do seu projeto se encontra controlado, ou versionado, ou ainda com o status "tracked". Como exemplo, vamos criar um projeto no Visual Studio na pasta de sua escolha. No Git Bash, entre nesta pasta e digite o comando "git init" como listado acima.
Pronto nosso repositrio foi criado. Agora vamos comear a versionar o nosso projeto e fazer o primeiro Commit.
$ git add . $ git commit -m "Primeiro Commit"
O comando "git add . " faz o track de todos os arquivos de todas as pastas recursivamente. O parmetro m do comando commit permite que voc digite uma mensagem para identificar o que foi feito neste commit. Toda vez que o projeto atinge um estado que voc deseje salvar, voc utiliza o comando commit.
Neste momento como adicionamos todos os arquivos rea de staging e realizamos o commit, no h mais nada para commitar, em outras palavras, no h arquivos em status "tracked" ou "modified". Tambm no h arquivos "untracked", caso contrrio ele seriam listado como veremos no exemplo a seguir.
O status tambm te informa que voc se encontra no Branch Master, que o padro. Por enquanto no se preocupe com isso. Veremos o significado disso mais adiante. Vamos adicionar um arquivo ao nosso projeto e ver o que acontece. Adicionarei um arquivo chamado Class1.cs e executarei novamente o comando git status.
Pode-se notar que a classe que criamos (no arquivo Class1.cs) se encontra "untracked". Ou seja, o Git j reconheceu o arquivo e verificou que ele no se encontra no ultimo snapshot(commit). Para inclui-la, voc deve fazer explicitamente como veremos a seguir.
Dessa forma j podemos dizer que o arquivo Class1.cs se encontra na rea de Staging, uma vez que ele est sobre o cabealho "Changes to be Committed". Caso execute o comando '"git commit" agora a verso do arquivo que ir para a snapshot ser a que se encontra na rea de Staging. No entanto, ao invs de commitar o arquivo deste modo, vamos complicar um pouco as coisas.
Uau! Nosso arquivo agora se encontra sob dois cabealhos, tanto em "Changes to be commited" quando em "Changed but not updated". Bom explicando o que podemos fazer. Caso eu realize um commit neste momento a verso do arquivo que ser feita a snapshot ser antes da modificao que eu realizei, ou seja, no ser a verso que se encontra presente no meu diretrio corrente. Para commitar a nova verso eu tenho que executar novamente o comando "git add" ( que um comando multi-proposito como se pode perceber) e ento executar o comando "git commit".
Removendo arquivos
Para remover um arquivo do Git voc deve remov-lo da sua rea de staging e ento commitar. O comando "git rm" faz isso e ainda remove o arquivo do seu diretrio, ento o arquivo no aparecer com o status Untracked.
$ git rm GitBlog/Class1.cs
Vamos supor que voc tenha feito commit de todos os seus arquivos. Logo seu diretrio est clean, como diria o Git. Voc no entanto faz uma modificao no arquivo Class1.cs e agora ele est com o status Untracked. Voc adiciona ele na rea de Staging com o comando:
$ git add Class1.cs
Agora Class1.cs possui o status Tracked. No entanto voc apenas deseja remov-lo da rea de staging, levando-o do status Tracked para Untracked. Para isso execute o comando:
$ git rm --cached Class1.cs
Para isso o arquivo s ser removido da rea de staging aps o prximo commit. Isso pode ser um problema. Ento vejamos uma outra soluo.
Bom pessoal, vimos diversos comandos bsicos do Git neste artigo o que nos dar base para trabalhar com nosso controle de verso distribudo. Gostaria de reforar que os comandos a seguir funcionam no seu repositrio local e no no repositrio remoto, logo no h conexo com o Github ou outro repositrio remoto.