git 服务器

Tags
git
Created
Jan 8, 2016 12:38 PM

git服务器是个裸仓库(理解git原理),简单的说就是各个客户端的.git文件夹

Git 可以使用四种主要的协议来传输数据:本地传输,SSH 协议,Git 协议和 HTTP 协议。除了 HTTP/S 协议外,其他所有协议都要求在服务器端安装并运行 Git。SSH 也是唯一一个同时支持读写操作的网络协议。

创建HTTP协议(可以使用任何静态 web 服务 )的GIT服务器:

$ cd /var/www/htdocs/ #web服务根目录 $ git clone --bare /path/to/git_project gitproject.git #新建裸仓库,相当于复制 $ cd gitproject.git $ mv hooks/post-update.sample hooks/post-update $ chmod a+x hooks/post-update Git 附带的 post-update 挂钩会默认运行合适的命令(git update-server-info)来确保通过 HTTP 的获取和克隆正常工作。这条命令在你用 SSH 向仓库推送内容时运行;之后,其他人就可以用http协议clone。

创建SSH协议的git服务器:仅仅是一个 SSH 服务器和裸仓库就足够了

1.只要在服务器上加入可以用 SSH 登录的帐号,然后把裸仓库放在大家都有读写权限的地方

git init --bare --shared #修改该仓库目录的组权限为可写只要每个人都能获得主机的 shell 访问权,任何可用的 SSH 授权机制都能达到相同效果。

2.在主机上建立一个 git 账户,让每个需要写权限的人发送一个 SSH 公钥,然后将其加入 git 账户的 ~/.ssh/authorized_keys 文件

SuperMade with Super