无法在Amazon EC2服务器上使用Netbeans和GIT进行推送

无法在Amazon EC2服务器上使用Netbeans和GIT进行推送,git,netbeans,amazon-ec2,Git,Netbeans,Amazon Ec2,我对UNIX/GIT世界相当陌生 我正在尝试在AmazonEC2机器上设置GitRepo,这样我就可以轻松地在不同的地方处理我的项目 经过几个小时的工作,有些事情还可以,我设法用我的IDE(Netbeans)连接到repo并克隆远程内容 当我尝试将某个内容推送到远程repo时,Netbeans会给我一个错误,该输出带有一个一般性错误: ==[IDE]== 4-lug-2012 15.34.59 Pushing git push ec2-xxx-xxx-xxx-xxx.eu-west-1.comp

我对UNIX/GIT世界相当陌生

我正在尝试在AmazonEC2机器上设置GitRepo,这样我就可以轻松地在不同的地方处理我的项目

经过几个小时的工作,有些事情还可以,我设法用我的IDE(Netbeans)连接到repo并克隆远程内容

当我尝试将某个内容推送到远程repo时,Netbeans会给我一个错误,该输出带有一个一般性错误:

==[IDE]== 4-lug-2012 15.34.59 Pushing
git push ec2-xxx-xxx-xxx-xxx.eu-west-1.compute.amazonaws.com:/var/www/myDir/        +refs/heads/master:refs/heads/master
Remote Repository Updates
Branch : master
Old Id : 84c3fb34b54b501b52c914eca123d4d850688e26
New Id : 7e7fd752d2cde7b0bf8824eef83c535ee2418508
Result : REJECTED_OTHER_REASON

Local Repository Updates
Branch : origin/master
Old Id : 84c3fb34b54b501b52c914eca123d4d850688e26
New Id : 7e7fd752d2cde7b0bf8824eef83c535ee2418508
Result : NOT_ATTEMPTED

==[IDE]== 4-lug-2012 15.35.02 Pushing finished.
我已经读过关于使远程仓库“裸”,git推送在这种情况下成功,但文件没有更新。。。我错过了什么


谢谢你的帮助

您的EC2实例是否也将代码用于生产?如果是这样,那么您将需要EC2实例上的一个裸存储库来处理提交,并需要另一个git克隆(裸存储库的)来提供生产代码

工作流程:

  • 在EC2 Instance上设置一个裸存储库
  • 为您的生产代码克隆此文件*
  • 将此新存储库克隆到本地计算机*
  • 编码、提交、推送。重复一遍
  • 配置一个钩子来自动更新您的产品(例如,拉动)

  • *显然,您不希望使用HEAD/master更新您的产品,因此请确保您有一个用于生产或开发的分支/标记。

    您的EC2实例也用于生产代码吗?如果是这样,那么您将需要EC2实例上的一个裸存储库来处理提交,并需要另一个git克隆(裸存储库的)来提供生产代码

    工作流程:

  • 在EC2 Instance上设置一个裸存储库
  • 为您的生产代码克隆此文件*
  • 将此新存储库克隆到本地计算机*
  • 编码、提交、推送。重复一遍
  • 配置一个钩子来自动更新您的产品(例如,拉动)

  • *显然,您不希望使用HEAD/master更新您的生产-因此,请确保您有一个用于生产或开发的分支/标签。

    是的,我的EC2 istance目前也是我的生产代码。您的解决方案听起来很合理,但我应该如何配置git克隆以高效地更新它?有更好的方法每次都从主回购中撤出吗?谢谢。如果我尝试手动拉,我会遇到以下错误:
    错误:您对“path/to/file.php”的本地更改将被merge覆盖。流产。请在合并之前提交或隐藏更改。
    但是,如果我没有弄错的话,您不能提交裸回购?这听起来像是在多个地方进行更改。好的,我只想问最后一个问题:为什么用不同于母版的头来更新生产回购协议很重要?如果您使用挂钩来更新生产,那么这很重要。您不希望所有推送的代码都通过一些暂存过程/测试自动投入生产。是的,我的EC2 istance目前也是我的生产代码。您的解决方案听起来很合理,但我应该如何配置git克隆以高效地更新它?有更好的方法每次都从主回购中撤出吗?谢谢。如果我尝试手动拉,我会遇到以下错误:
    错误:您对“path/to/file.php”的本地更改将被merge覆盖。流产。请在合并之前提交或隐藏更改。
    但是,如果我没有弄错的话,您不能提交裸回购?这听起来像是在多个地方进行更改。好的,我只想问最后一个问题:为什么用不同于母版的头来更新生产回购协议很重要?如果您使用挂钩来更新生产,那么这很重要。您不希望所有推送的代码都通过一些暂存过程/测试自动进入生产环境。它可以从命令行工作吗?它可以从命令行工作吗?