Controle de Versão


O que é Controle de Versão
- É um sistema que registra as mudanças feitas em um arquivo ou um conjunto de arquivos ao longo do tempo de forma que você possa recuperar versões específicas
Funcionalidades
- Permite acompanhar as alterações desde as versões antigas.
- É possível detectar e mesclar alterações nos mesmos arquivos, além de identificar conflitos.
GIT
- Criado em 2005 por Linus Torvalds.
- É usado para desenvolver o kernel do linux.

GitHub
- Criado em 2008, é uma aplicação web que possibilita a hospedagem de repositórios Git.
- Serve também como rede social para programadores

Instalação
- Para Sistema Operacional Windows acesse este link:
- http://msysgit.github.io/
- https://git-scm.com/downloads
Instalação
- No Linux execute o comando abaixo no terminal:
- sudo apt-get install git
Configuração
- É importante nos identificarmos para o Git, informando nosso nome e e-mail. Em um terminal, execute os comandos a seguir:
- $ git config --global user.name "Fulano da Silva"
- $ git config --global user.email fulanodasilva.git@gmail.com
Iniciando o Controle de versão
- Vá até o diretório do projeto que deseja fazer o controle de versão e execute o comando.
- Git init
Ratreando um arquivo
- Verificar a situação dos arquivos no repositório Git com o comando:
- git status
- Para rastrear use o comando:
- git add nomedoarquivo.extensão
Repositório
- Para gravar no repositório git os arquivos para que possam ser criado o histórico do seu trabalho:
- git commit -m “Uma mensagem de identificação”
[master (root-commit) 8666888] Arquivo inicial de citacoes
1 file changed, 2 insertions(+)
create mode 100111 nome do arquivo.extençãoVerificando Atualizações
- Para verificar o histórico das alterações gravadas no repositório, podemos executar o comando:
- $ git log
- Lista os dois últimos commits:
- git log -n 2
-
Lista um resumo bem conciso dos commits
- git log –-oneline
-
Mostra um resumo dos arquivos alterados, com o número de linhas adicionadas e removidas.
- git log –-sat
Verificando mudanças
- Se quisermos revisar a modificação efetuada, verificando as diferenças entre o arquivo alterado e o que foi comitado anteriormente.
- git diff
Exceção
- Alguns arquivos são meios que indesejados para ser gravados no repositório, para facilitar é utilizado o seguinte artifício.
- Basta criarmos um arquivo chamado .gitignore no diretório principal do nosso projeto, com os nomes dos arquivos que queremos ignorar.
.gitignore
- arquivo.extenção - ignora um arquivo específico
- Pasta/ - ignora uma pasta específica
- *.extenção - ignora vários arquivos de uma determinada extenção
- É importante que o arquivo .gitignore seja rastreado, porque evoluirá junto com o repositório.
- Por isso, ao criar o .gitignore, não esqueça de adicioná-lo à área de stage com o comando:
- $ git add .gitignore
Renomeando Arquivos
- Para alterar o nome do arquivo pode-se usar o seguinte comando:
- $ git mv nomeArquivo.ext novoNomeArquivo.ext
Removendo Arquivos do Repositório
- Não adianta remover apenas arquivos do diretório, deve-se também removê-lo também da stage área.
- $ git rm nomeArquivo.ext
- Para mudarmos o arquivo de diretório usa o seguinte comando:
- $ git mv nomeArquivo.ext novaPasta/nomeArquivo.ext
Desfazendo Mudanças
- Quando você faz uma alteração em um arquivo e não executa o git add você pode desfazer a alteração do arquivo usando o comando:
- git checkout -- nomeArquivo.ext
- O comando desfaz as alterações ainda não ratreadas, que ainda não estão na área de stage.
- Se deletou o arquivo por acidente e não adicionou na área stage, para recuperar o arquivo você pode usar o camando:
- git checkout -- nomeArquivoDeletado.ext
Desfazendo mudanças já rastreadas
- Se alterou o arquivo e executou o git add não adianta realizar o git checkout, use o seguinte comando:
- git reset -- nomeArquivo.ext
- Esse comando retira o arquivo da área de stage e preserva o que foi alterado
ATENÇÃO!!!!!
- Se invocarmos o comando git reset sem nenhum parâmetro, serão retirados todos os arquivos da área de stage. As alterações efetuadas nesses arquivos serão preservadas.
Repositório Remoto
- Em uma empresa, lógico que todos os computadores estarão conectados em rede, então escolhe um para ser o servidor e neste crie uma pasta para o projeto e execute o seguinte comando:
- git init --bare nomeProjeto.git
- O parâmetro --bare serve para que o Git não crie um working tree (diretório de trabalho), impedindo que commits sejam efetuados diretamente no servidor.
Adicionando Repositório Remoto
- É possível enviar os commits efetuados no nosso repositório local para o repositório remoto. Mas antes disso é preciso, de alguma maneira, indicar ao Git onde está localizado o repositório remoto.
- Para ensinar ao Git onde se encontra o nosso repositório remoto, devemos utilizar o comando git remote add , no qual informa o endereço do repositório remoto.
Adicionando Repositório Remoto
- git remote add servidor file://192.168.1.1/opt/nomePasta/nomeProjeto.git
- Para listar os repositórios utilize o seguinte comando: git remote.
- Para exibir uma lista de repositórios e seus respectivos endereço: git remote -v
Enviando commits para o repositório remoto
- Para enviar os commits locais, que ainda não existem no servidor, devemos utilizar o comando git push , informando o name do repositório remoto, no nosso caso servidor, seguido de master:
- git push servidor master
Clonando Repositório Remoto
- Para obtermos uma cópia de um repositório Git, devemos utilizar o comando git clone informando a URL do repositório a ser clonado:
- $ git clone file://192.168.1.1/opt/repositorios/
nomeProjeto.git
- $ git clone file://192.168.1.1/opt/repositorios/
Sicronizando Repositório Remoto
- A sincronização do repositório local com o servidor é feita com o uso do comando git pull , onde devemos informar o name do repositório remoto que queremos sincronizar, e o nome da branch local a ser atualizada:
- $ git pull servidor master
- Para enviar os comits locais para o servidor usamos o seguinte comando:
- $git push servidor master
Controle de Versão
By pakato
Controle de Versão
- 89