有关在亚马逊云ec2上设置git的虚拟问题

首先,对于我可能在这里抛出的虚拟问题表示歉意。 如果你能指出我应该从哪里去的方向,那将是很好的。

我完全不熟悉版本控制(以及git)和云系统。 但是,我必须在AWS EC2实例上开发基于php的web应用程序,并为将来的开发人员提供有用的代码。

我成功地创build了运行PHP / MySQL的EC2实例,并使用Elastic IP映射了该域。 所以这个网站现在可以通过80端口公开访问。

我也安装了git,使用$sudo yum install git和configed user.name和user.email

然后,我去到网站的根文件夹(例如public_html)并运行创build折叠“.git”的“ git init ”,然后使用“ git add . ”添加文件git add . “并提交” git commit -m 'initial upload'

这是正确的路吗? 将项目文件夹放在/ public_html(任何人可以访问的地方)都可以。

如果以上是好的,那么我应该从哪里去? 我希望在EC2上运行git服务器,允许开发人员从本地机器(例如Eclipse)连接,同时能够保留备份并比较不同的代码。

我想给开发者什么细节,以便他们可以连接到git服务器和项目工作?

我快速的方向或几个关键字做更多的研究会有所帮助。

在这里查看有关在亚马逊ec2上设置git的更多信息

让开发者使用你的git,你只需要给他们的git服务器的url。

直接引用我链接到的网站。

“首先,您需要将您的EC2身份添加到ssh身份验证代理,这样可以避免以后的git问题,即尝试执行git push到EC2存储库时出现”Permission denied(publickey)“错误。

 ssh-add path/to/privateEC2key.pem 

现在,您可以继续在EC2实例上创建git存储库。

 ssh username@hostname.com mkdir the_project.git cd the_project.git git init --bare 

所以在这里没有太多的事情,我们所做的只是创建一个空的仓库,然后离开。 现在,在本地机器上,你可以做如下的事情:

 cd the_project git init git add . git commit -m "Initial git commit message" git remote add origin username@hostname.com:the_project.git git config --global remote.origin.receivepack "git receive-pack" git push origin master 

'git config'命令是我发现必须能够推送到EC2存储库的修复程序。“

Alex提到的链接给出了一个很好的开始,在ec2上设置git。 但是我遵循了这里提到的一些不同的方法。 链接 。 从页面直接引用:

“不使用PEM密钥连接SSH”:所以要么添加ec2私钥并将其作为实体添加到您的ssh身份验证代理中,要么为您的用户创建一个新的ssh密钥并使用它。 要遵循的步骤是:

创建SSH密钥

首先,您需要导航到本地计算机上的.ssh文件夹:

 cd cd .ssh 

如果这个文件夹不存在,请使用mkdir来制作它。

一旦在您的本地计算机上的ssh文件夹中,您应该在/Users/yourusername/.ssh中执行以下操作来生成密钥。

 ssh-keygen -t rsa -b 1024 

当提示输入文件名保存密钥时输入id_rsa_aws,当提示输入密码留空时。

在.ssh目录中执行以下命令并复制输出以便稍后粘贴。

 cat id_rsa_aws.pub 

现在使用您的PEM密钥连接到您的AWS实例

 ssh -i path/to/yourkeyname.pem ubuntu@xx.xxx.xxx.xxx 

曾在

 echo 'the key you copied from id_rsa_aws.pub' >> .ssh/authorized_keys chmod 640 .ssh/authorized_keys chmod 750 .ssh 

现在你去你的机器并输入

 cd desired directory git clone ubuntu@xx.xxx.xxx.xxx:<path_to_your_just_created_git_server> 

如果你做了上述所有的步骤都是正确的,那么你可能得到的唯一警告就是

 warning: You appear to have cloned an empty repository. 

没关系。 现在,您可以将所有代码复制到克隆目录中,然后执行以下步骤:

 git add . git commit -m "Initial commit" git push origin master // If working on master branch