Servidor GIT


Subindo um servidor GIT na sua rede local :)

Primeiros Passos

Para criar um repo no git, primeiro você deve instalar o mesmo, baixe do site, use apt-get, yum, sei lá! É o mesmo programa para cliente e servidor, daí você configura seu server.

  • Isto serve apenas para um repo vazio, se você já tiver um repo criado, use o git clone

Servidor

Criando a Pasta

Vá até a pasta do servidor que deseja criar seu repositório, nela dê os devidos privilégios

chown grupo.user /sua/pasta/do/git
chmod -R 770 /sua/pasta/do/git
chmod -R g+s /sua/pasta/do/git

o gs é para que as permissões do grupo sejam passadas para novos arquivos criados

Inicializando o Git

Dentro da pasta que você acabou de criar, digite:

git init --bare
git update-server-info # If planning to serve via HTTP

Pronto :)

Por de baixo dos panos

Usando a tag –bare você não vai criar um versionamento do que existe mas sim as estruturas necessárias para servir de “recipiente” para os arquivos que forem “pushados” para essa pasta.

|- $ git init --bare
Initialized empty Git repository in /tmp/bare/
|ragazzid@ragazzid:/tmp/bare 
|- $ ls
branches  config  description  HEAD  hooks  info  objects  refs
|ragazzid@ragazzid:/tmp/bare 
|- $ 

Assim, dentro de outra pasta ou de outro computador deve se adicionar o origin referente a esse servidor e seu local. Supondo que seja local:

git clone usuarioComAcesso@127.0.0.1:/tmp/bare

ou

git init
git remote add origin usuarioComAcesso@127.0.0.1:/tmp/bare
echo "Diego Ragazzi" > contribuidores.txt
git add contribuidores.txt
git commit -m 'adicionando contribuidores'
git push -u origin master

No caso se não ser local, mudar o 127.0.0.1 para o nome ou ip do destino.

Cliente

Dentro do cliente, vá até um diretório que recebera os dados, crie uma pasta e entre nela, crie um arquivo qualquer e digite:

git init
git add *
git commit -m "My initial commit message"
git remote add origin git@example.com:my_project.git
git push -u origin master

Guia de Comandos

Um simples guia de comandos para ajudar no dia a dia :)

  • git add -A
    • Adiciona todos os arquivos do diretório atual na sua fila para commit
  • git commit -m “Meu commit”
    • Pega sua fila, e prepara tudo para enviar para o repositório com a descrição digitada
  • git clone xxxxx
    • dado um repositório xxxx clona o mesmo para o seu pc
  • git show
    • exibe as informações de diff e autor do úlitmo commit, após o show você pode colocar o nome de uma outra versão / commit
  • git log
    • Exibe todos os commits feitos (push), dessa tela você pega os commits values para verificar o diff no git show
  • git diff
    • Exibe a diferença entre seus arquivos e os arquivos no servidor
  • git stash
    • Salva suas alterações num arquivo local e dpois as limpa (seria como voltar o repositório para o estado original mas salvando as alteraçẽos)
  • git stash drop
    • Apaga as alterações locais salvas
  • git merge
    • Merges one or more branches into your current branch and automatically creates a new commit if there are no conflicts.
  • git reset –hard
    • Reseta todas as altearções feitas para a do último commit de todos os arquivos
  • git checkout HEAD
    • Reseta todas as altearções feitas para a do último commit apenas do arquivo especificado
  • git branch -D
    • Apaga o
  • git checkout
    • Acessa o branch, mas ele precisa existir
  • git checkout -b
    • Cria e acessa o
  • git config credential.helper store
    • Seta as credencials (https), que você usou, como cache local, ai n precisa ficar digitando.