[英]Dummy questions about setting up git on amazon cloud ec2
首先,为我可能会抛出的虚假问题道歉。 如果你能指出我应该从哪里开始的指示,那将是很好的。
我完全不熟悉版本控制(以及git)和云系统。 但是,我必须在AWS EC2实例上开发基于php web的应用程序,并使代码对未来的开发人员有所贡献。
我成功创建了运行PHP / MySQL的EC2实例,并使用弹性IP映射域。 因此,该网站现在可通过端口80公开访问。
我还使用$sudo yum install git
和configed user.name和user.email $sudo yum install git
然后,我去网站的根文件夹(例如public_html)并运行' git init
'创建折叠“.git”,然后我使用“ git add .
”添加文件git add .
“并提交” git commit -m 'initial upload'
“
这是正确的方法吗? 是否可以将项目文件夹放在/ public_html(可从任何人访问)。
如果上面没问题,那么我应该从哪里开始呢? 我想在EC2上运行git服务器,允许开发人员从他们的本地机器(例如Eclipse)连接,同时能够保持备份并比较代码之间的不同。
我想给开发人员什么细节,以便他们可以连接到git服务器并处理项目?
我快速指导或几个关键词做更多的研究会有所帮助。
在这里查看有关在amazon ec2上设置git的更多信息
允许开发人员使用你的git,你只需要给他们git服务器的URL。
直接引用我链接到的网站。
“首先,您需要将您的EC2身份添加到ssh身份验证代理。这可以防止以后出现git问题,即在尝试向EC2存储库执行git推送时获取错误”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
我创建了一个GitHub的要点,所有细节都希望它有所帮助https://gist.github.com/eslam-mahmoud/35777e4382599438023abefc9786a382
//add your EC2 .pem file to ssh kys
ssh-add ~/aws/mypemfile.pem
//create bare repo on AWS EC2 webserver and deploy on demand
mkdir ~/git/the_project
cd ~/git/the_project
git init --bare
//create local repo and track remote one
cd ~/git/the_project
git init
git add .
git commit -m "Initial git commit message"
git remote add aws ubuntu@1.1.1.1:~/git/the_project
git config --global remote.origin.receivepack "git receive-pack"
git push aws master
//create tag
git tag -a v0.1 -m "my version 0.1"
//push tags
git push aws --tags
//Or you have one so you push your updates
git remote add aws ubuntu@1.1.1.1:~/git/the_project
git config --global remote.origin.receivepack "git receive-pack"
git push aws master
//create tag
git tag -a v0.1 -m "my version 0.1"
//push tags
git push aws --tags
//on server create another local repo that track the bare one to deploy
git clone ~/git/the_project
cd ./the_project
//checkout tag
git checkout v0.1
//install clear cache ...
npm install
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.