设为首页 收藏本站
查看: 1073|回复: 0

[经验分享] 朗志工作室(Langzhi Studio)

[复制链接]

尚未签到

发表于 2018-1-16 06:22:09 | 显示全部楼层 |阅读模式

beanstalk不稳定,无奈,还是得自己搭git服务
  reference :
http://progit.org/book/zh/ch4-2.html
在服务器部署 Git
  开始架设 Git 服务器的时候,需要把一个现存的仓库导出为新的纯仓库——不包含当前工作目录的仓库。方法非常直截了当。 把一个仓库克隆为纯仓库,可以使用 clone 命令的 --bare 选项。纯仓库的目录名以.git 结尾, 如下:
$ git clone --bare my_project my_project.git  
Initialized empty Git repository in /opt/projects/my_project.git/
  该命令的输出有点迷惑人。由于 clone 基本上等于 git init 加 git fetch,这里出现的就是 git init 的输出,它建立了一个空目录。实际的对象转换不会有任何输出,不过确实发生了。现在在my_project.git 中已经有了一份 Git 目录数据的副本。
  大体上相当于
$ cp -Rf my_project/.git my_project.git  在配置文件中有几个小改变;不过从效果角度讲,克隆的内容是一样的。它仅包含了 Git 目录,没有工作目录,并且专门为之(译注: Git 目录)建立了一个单独的目录。
将纯目录转移到服务器
  有了仓库的纯副本以后,剩下的就是把它放在服务器上并设定相关的协议。假设一个域名为git.example.com 的服务器已经架设好,并可以通过 SSH 访问,而你想把所有的 Git 仓库储存在/opt/git 目录下。只要把纯仓库复制上去:
$ scp -r my_project.git user@git.example.com:/opt/git  现在,其他对该服务器具有 SSH 访问权限并可以读取 /opt/git 的用户可以用以下命令克隆:
$ git clone user@git.example.com:/opt/git/my_project.git  假如一个 SSH 用户对 /opt/git/my_project.git 目录有写权限,他会自动具有推送权限。这时如果运行git init 命令的时候加上 --shared 选项,Git 会自动对该仓库加入可写的组。
$ ssh user@git.example.com  
$ cd /opt/git/my_project.git
  
$ git init --bare --shared
  可见选择一个 Git 仓库,创建一个纯的版本,最后把它放在你和同事都有 SSH 访问权的服务器上是多么容易。现在已经可以开始在同一项目上密切合作了。
  值得注意的是,这的的确确是架设一个少数人具有连接权的 Git 服务的全部——只要在服务器上加入可以用 SSH 接入的帐号,然后把纯仓库放在大家都有读写权限的地方。一切都做好了,无须更多。
  下面的几节中,你会了解如何扩展到更复杂的设定。这些内容包含如何避免为每一个用户建立一个账户,给仓库添加公共读取权限,架设网页界面,使用 Gitosis 工具等等。然而,只是和几个人在一个不公开的项目上合作的话,仅仅是一个 SSH 服务器和纯仓库就足够了,请牢记这一点。
小型安装
  如果设备较少或者你只想在小型的开发团队里尝试 Git ,那么一切都很简单。架设 Git 服务最复杂的方面之一在于账户管理。如果需要仓库对特定的用户可读,而给另一部分用户读写权限,那么访问和许可的安排就比较困难。
SSH 连接
  如果已经有了一个所有开发成员都可以用 SSH 访问的服务器,架设第一个服务器将变得异常简单,几乎什么都不用做(正如上节中介绍的那样)。如果需要对仓库进行更复杂的访问控制,只要使用服务器操作系统的本地文件访问许可机制就行了。
  如果需要团队里的每个人都对仓库有写权限,又不能给每个人在服务器上建立账户,那么提供 SSH 连接就是唯一的选择了。我们假设用来共享仓库的服务器已经安装了 SSH 服务,而且你通过它访问服务器。
  有好几个办法可以让团队的每个人都有访问权。第一个办法是给每个人建立一个账户,直截了当但过于繁琐。反复的运行 adduser 并且给所有人设定临时密码可不是好玩的。
  第二个办法是在主机上建立一个 git 账户,让每个需要写权限的人发送一个 SSH 公钥,然后将其加入git 账户的 ~/.ssh/authorized_keys 文件。这样一来,所有人都将通过 git 账户访问主机。这丝毫不会影响提交的数据——访问主机用的身份不会影响commit的记录。
  另一个办法是让 SSH 服务器通过某个 LDAP 服务,或者其他已经设定好的集中授权机制,来进行授权。只要每个人都能获得主机的 shell 访问权,任何可用的 SSH 授权机制都能达到相同效果。
  http://www.ossxp.com/doc/git/gitolite.html
  Gitolite 构建 Git 服务器

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-435539-1-1.html 上篇帖子: 关于git的cherry-pick命令 下篇帖子: git checkout简介 [转]
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表