1

我对 UNIX/GIT 世界很陌生。

我正在尝试在 Amazon EC2 机器上设置 GIT 存储库,这样我就可以轻松地从不同的地方处理我的项目。

经过几个小时的工作后,有些事情没问题,我设法用我的 IDE(Netbeans)连接到存储库并克隆远程内容。

当我尝试将某些东西推送到远程仓库时,问题就开始了,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 push 成功,但无论如何文件都没有更新......我错过了什么?

谢谢您的帮助!

4

1 回答 1

1

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

工作流程:

  1. 在您的 EC2 实例上设置一个裸存储库。
  2. 将其克隆为您的生产代码*
  3. 将此新存储库克隆到您的本地计算机*
  4. 代码,提交,推送。重复。
  5. 配置接收后挂钩以自动更新您的产品(例如,拉取)

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

于 2012-07-04T14:01:57.593 回答