使用EC2打造私人Git服务器

关于Amazon EC2服务,已经有很多文章介绍,这里就不再赘述如何申请Amazon云服务的内容了。假定你已经拥有一台EC2服务器。另外,这里并没有使用gitosis或者gitolite之类的应用。主要是通过使用ssh来将EC2当作个人的Git服务器来使用。因为当前Amazon提供了对于Micro类型的EC2免费使用一年优惠,不妨大家也试试。

为了简化对远程主机的访问,先对ssh做点简单的配置:

$ cat ~/.ssh/config
Host codingme.com
        Hostname codingme.com
        User ec2-user
        IdentityFile /path/to/your/private key file

由于我的主机申请了动态IP,且与我自己的域名绑定过,所以上面的Hostname使用的个人的域名,你可以直接使用EC2为每个主机提供的域名地址。

另外,配置文件中,首行的Host codingme.com是指定一个主机别名,你可以写成Host cm或者其它的易于记忆的名字。

基于以上配置,你可以很方便的连接到主机,同时,这也是通过ssh来远程访问Git仓库所必需的——因为访问EC2主机是使用私钥,而git在ssh访问远程仓库时,则必需要通过以上配置才能够使用到私钥。

1.在远程主机上创建一个仓库

ssh mkdir">codingme.com
user@ec2>mkdir
–p git/repos/codingme
user@ec2>cd git/repos/codingme
user@ec2>git init --bare

留意一下上面的操作,你会发现在使用前面的config之后,ssh连接主机就不再需要指定私钥文件和用户名了。另外,如果你的Host别名

2.同步远程主机上的数据

从远程主机上clone数据。

git clone ssh://codingme.com/home/user/git/repos/codingme

3.将仓库添加到已经有的本地仓库中

如果你的项目已经建成,可能托管在github等仓库中,也可以将新的仓库添加进来。

git remote add codingme ssh://codingme.com/home/user/git/repos/codingme
git pull codingme master // pull the latest data
git push codingme master // upload the local data

注:在上面三个步骤中,使用到的codingme.com都是.ssh/config中的Host别名,不是真正的主机域名。

原文地址:https://www.cnblogs.com/ungshow/p/2305325.html