我有一个本地分支(master
),一个GitHub仓库(origin
)和另一个远程仓库(server
)。我在本地设置了遥控器,我可以输入git push server master
并将更改推送到server/master
。
当我在本地和服务器上键入git log -1
时,它们会返回相同的提交,但我在本地进行的更改都不会在服务器上显示。
我使用Capistrano部署了我的应用程序,因此重新部署它会立即显示更改,但我不希望每次进行更改时都需要重新部署。
知道这里发生了什么吗?我对Git很新。希望这很容易解决。
答案 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。