Rails和Git push,Git pull:日志返回相同的提交,没有进行更改

时间:2012-10-04 05:42:24

标签: ruby-on-rails-3 git capistrano

我有一个本地分支(master),一个GitHub仓库(origin)和另一个远程仓库(server)。我在本地设置了遥控器,我可以输入git push server master并将更改推送到server/master

当我在本地和服务器上键入git log -1时,它们会返回相同的提交,但我在本地进行的更改都不会在服务器上显示。

我使用Capistrano部署了我的应用程序,因此重新部署它会立即显示更改,但我不希望每次进行更改时都需要重新部署。

知道这里发生了什么吗?我对Git很新。希望这很容易解决。

2 个答案:

答案 0 :(得分:0)

在我看来,您可能正在查看与您的Web服务器所指向的目录不同的目录。

当我设置capistrano时:

cap deploy:setup
#then
cap deploy

它创建了一个类似于:

的目录结构
/releases (each deploy gets its own randome number directory)
/current (a sym-link to the latest release)
/shared

这些文件夹都不与git绑定。这让我觉得您的网络服务器可能没有指向您与git一起使用的目录。

-

您可能会发现首选部署更为可取,因为如果出现任何问题,您将能够看到输出。

我不是一个庞大的专家,但上面是我用Capistrano设置rails的方法。

答案 1 :(得分:0)

通常origin是用于GitHub远程的名称而不是master。您可以通过git remote show检查您拥有的遥控器。如果您想要远程使用git remote show origin的更多细节(或者您的遥控器被调用,如果它不是原点)。这会给你一个清单。我怀疑你拥有的实际上是两个本地分支(主服务器和服务器)。尝试做git push server origin。这将采用您的服务器分支并将其放在GitHub上。

<强>替代地

如果您尝试将服务器分支中的更改与主分支合并,请使用checkout master,然后使用git merge server。这会将您的更改从服务器分支合并到主分支中,然后您可以通过git push master origin上传到GitHub。