From: Thadeu Lima de Souza Cascardo Date: Tue, 1 Jul 2014 11:13:00 +0000 (-0300) Subject: Publicando com SSH. X-Git-Url: http://git.cascardo.info/?p=cursogit.git;a=commitdiff_plain;h=d5454e7e58bc401a2cbac2ca2b7ddfe60f30c7af;hp=05a5c03738e90a18e6092825fdde9bf6e9dbfcb2 Publicando com SSH. Fazendo cópia via scp, a partir de um bare clone, ou fazendo push depois de um bare init. --- diff --git a/Colaborando_com_Git.mdwn b/Colaborando_com_Git.mdwn index 80ad818..373ff00 100644 --- a/Colaborando_com_Git.mdwn +++ b/Colaborando_com_Git.mdwn @@ -257,6 +257,8 @@ Há várias formas de fazê-lo. Veremos aqui algumas delas, utilizando um host próprio, que seja acessível ao público alvo, através de SSH, HTTP ou git daemon. +### SSH + Publicar através de SSH é simples de ser feito, mas tem algumas implicações. Entre elas é o acesso exigido a um shell no host para os usuários, dificultando acesso anônimo e criando um novo problema de @@ -272,3 +274,31 @@ Uma excelente forma de utilizar a publicação via SSH é disponibilizá-la de forma somente leitura através de outros métodos, e ter um único usuário que possa atualizá-lo, o que resolve vários dos problemas já mencionados. + +Há duas formas simples para publicar um repositório via SSH. Uma delas é +criar um bare clone do repositório e fazer a cópia para o host remoto, +através do método de preferência. Uma opção é scp. + + $ git clone --bare project/ + Cloning into bare repository 'project.git'... + done. + $ scp -rq project.git/ git.example.com:/srv/git/alice/ + $ + +A outra opção é criar um repositório bare no host remoto, e fazer o +primeiro push. + + alice@git.example.com $ mkdir project.git + alice@git.example.com $ cd project.git + alice@git.example.com project.git$ git init --bare + Initialized empty Git repository in /srv/git/alice/project.git/ + alice@git.example.com project.git$ + + ~/project$ git remote add origin git.example.com:/srv/git/alice/project.git/ + ~/project$ git push origin master:master + Counting objects: 3, done. + Writing objects: 100% (3/3), 229 bytes, done. + Total 3 (delta 0), reused 0 (delta 0) + To git.example.com:/srv/git/alice/project.git/ + * [new branch] master -> master + ~/project$