Git - Ciclo básico de trabalho

Resolvi escrever este tutorial para tentar preencher uma lacuna no ensino sobre o sistema de controle de versão distribuído Git, que é um simples e objetivo passo a passo do ciclo básico de trabalho no dia a dia.

[ Hits: 15.561 ]

Por: Claudio Rocha de Jesus em 09/07/2012


Criando repositório no servidor GNU/Linux



Resolvi escrever este tutorial para tentar preencher uma lacuna no ensino sobre o sistema de controle de versão distribuído Git.

Se você fizer uma busca no Google, encontrará vários sites, Wikis e blogs ensinando como instalar o Git no GNU/Linux, no Windows e seus principais comandos, junto toda a história de sua criação. Mas ainda não encontrei nada simples e objetivo ensinando o ciclo básico de trabalho.

No final deste tutorial, existem vários links onde será possível se aprofundar na história, na instalação e em todos os seus comandos, mas o foco aqui é a utilização básica no dia a dia.

O meu cenário é o seguinte: tenho um servidor GNU/Linux com Debian onde está instalado o Git, este será o servidor de integração e uma estação de trabalho com Windows 7, também com o Git instalado.

O meu ciclo de trabalho com o SVN, basicamente, criava o projeto no servidor, baixava uma cópia para a minha máquina, fazia as atualizações necessárias e subia as alterações para o servidor, meu objetivo é fazer o mesmo com o Git.

Para criar um novo projeto no servidor, siga os seguintes passos:

1. Conecte-se no servidor através de um cliente PuTTY, Secure Shell ou até mesmo através do PowerShell do Windows.

2. Na console do servidor, navegue até o diretório onde deseja criar os projetos. No meu caso é /srv.

3. Criar os diretórios para hospedar os projetos. Criarei o diretório base onde todos os projetos ficarão:

# mkdir git

4. E dentro deste, o diretório do projeto:

# mkdir git/zambo

5. Aplicar a permissão 775 para todos:

# chmod 775 /srv/git -R

6. Navegar até o diretório do projeto:

# cd /srv/git/zambo

7. Criar o repositório:

git init (Similar ao svnadmin create)


Aqui devo abrir um parêntesis, porque apanhei bastante do Git neste ponto.

Aparentemente, criar um projeto no Git é somente executar este comando e a partir daí criar arquivos e adicioná-los no projeto. Mas quando fiz isso e criei um arquivo para testes e adicionei no projeto (como veremos a seguir) e depois clonei o projeto na minha estação de trabalho, modifiquei o arquivo e tentei subir para o servidor de integração, recebi a seguinte mensagem de erro:

error: refusing to update checked out branch: refs/heads/master
error: By default, updating the current branch in a non-bare repository
error: is denied, because it will make the index and work tree inconsistent
error: with what you pushed, and will require 'git reset --hard' to match
error: the work tree to HEAD.
error:
error: You can set 'receive.denyCurrentBranch' configuration variable to
error: 'ignore' or 'warn' in the remote repository to allow pushing into
error: its current branch; however, this is not recommended unless you
error: arranged to update its work tree to match what you pushed in some
error: other way.
error:
error: To squelch this message and still keep the default behaviour, set
error: 'receive.denyCurrentBranch' configuration variable to 'refuse'.


Pesquisando na Internet, descobri em um fórum que deveria criar o projeto com o seguinte comando:

# git init --bare

Este comando cria um repositório de projeto limpo, e se o arquivo de configuração de ambiente GIT_DIR não está definido, ele é definido como o diretório de trabalho atual.

Feito isso, consegui subir os arquivos normalmente para o servidor.

    Próxima página

Páginas do artigo
   1. Criando repositório no servidor GNU/Linux
   2. Clonando o repositório na estação de trabalho Windows
Outros artigos deste autor

Conversão da base de dados do Cyrus IMAP no Debian

Implantação de um Sistema de Workgroup Open Source

Compilando o Mono 2.2 no Ubuntu 8.10

Leitura recomendada

Como instalar Ubuntu no Pendrive (não é Live-USB) em modo UEFI

Introdução ao universo dos filesystems

Ubuntu com Criptografia Total + Snapper

Fazendo particionamento avançado no Debian

Reparticionando ReiserFS via linha de comando

  
Comentários
[1] Comentário enviado por denommus em 09/07/2012 - 11:07h

Acho que seria recomendável ajudar a traduzir o Pro Git, o melhor livro de git, escrito e mantido pela comunidade: http://git-scm.com/book

O repositório do progit: https://github.com/progit/progit

[2] Comentário enviado por crochadejesus em 10/07/2012 - 10:22h

Eu até que gostaria, e já pensei nisso, mas meu inglês ainda é só para leitura.
Aprendi muito neste livro, recomendo.

[3] Comentário enviado por albfneto em 10/07/2012 - 15:10h

eu gostei muito do tutorial. Eu uso Git bastante no Sabayon e no gentoo e funtoo. Distros baseadas no Gentoo usam.
há poucos tutoriais de Git em português.
parabéns pelo artigo.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts