shell 删除文件 四、服务器上的 Git(7)

电脑杂谈  发布时间:2018-02-11 20:23:18  来源:网络整理

# cat /tmp/id_rsa.john.pub

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCB007n/ww+ouN4gSLKssMxXnBOvf9LGt4L

ojG6rs6hPB09j9R/T17/x4lhJA0F3FR1rP6kYBRsWj2aThGw6HXLm9/5zytK6Ztg3RPKK+4k

Yjh6541NYsnEAZuXz0jTTyAUfrtU3Z5E003oxOj6H0rfIF1kKI9MAQLMdpGW1GYEIgS9Ez

Sdfd8AcCIicTDWbqLAcU4UpkaX8KyGlLwsNuuGztobF8m72ALC/nLF6JLtPofwFBlgc+myiv

O7TCUSBdLQlgMVOFq1I2uPWQOkOWQAHukEOmfjy2jctxSDBQ220ymjaNsHT4kgtZg2AYYgPq

dAv8JggJICUvax2T9va5 gsg-keypair

将这些公钥加入系统用户 git 的 .ssh 目录下 authorized_keys 文件的末尾:

# cat /tmp/id_rsa.john.pub >> ~/.ssh/authorized_keys

# cat /tmp/id_rsa.josie.pub >> ~/.ssh/authorized_keys

# cat /tmp/id_rsa.jessica.pub >> ~/.ssh/authorized_keys

现在我们来为开发者新建一个空仓库。可以借助带 --bare 选项的 git init 命令来做到这一点,该命令在初始化仓库时不会创建工作目录:

# cd /opt/git

# mkdir project.git

# cd project.git

# git init --bare

Initialized empty Git repository in /opt/git/project.git/

接着,John、Josie 或者 Jessica 中的任意一人可以将他们项目的最初版本推送到这个仓库中,他只需将此仓库设置为项目的远程仓库并向其推送分支。

请注意,每添加一个新项目,都需要有人登录服务器取得 shell,并创建一个裸仓库。

我们假定这个设置了 git 用户和 Git 仓库的服务器使用 gitserver 作为主机名。同时,假设该服务器运行在内网,并且你已在 DNS 配置中将 gitserver 指向此服务器。

那么我们可以运行如下命令(假定myproject 是已有项目且其中已包含文件):

## on John‘s computer

# cd myproject

# git init

# git add .

# git commit -m ‘initial commit‘

# git remote add origin git@gitserver:/opt/git/project.git

# git push origin master

此时,其他开发者可以克隆此仓库,并推回各自的改动,步骤很简单:

# git clone git@gitserver:/opt/git/project.git

# cd project

# vim README

# git commit -am ‘fix for the README file‘

# git push origin master

通过这种方法,你可以快速搭建一个具有读写权限、面向多个开发者的 Git 服务器。


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/sanxing/article-72418-7.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...