我一开始以为 git 能够做到这样一个效果
比如我把服务器端的 /usr/local/tomcat7/webapps/SomeProject/这个文件夹作为一个远程 git 仓库
我本地的 java 项目所在的文件夹是一个本地 git 仓库
然后我编辑好这个 Java 项目,比如说弄了一个 a.jsp 吧通过 git 把这个项目推送到 /usr/local/tomcat7/webapps/SomeProject/,这样服务器端就有了这么个 a.jsp 。然后更新服务器端 tomcat,就能访问那个 a.jsp 了( IP 地址 /SomeProject/a.jsp )
这是我一开始对 git 的理解。。
====分割线===
但实际操作里我发现。在云服务器那边,如果新建一个仓库为裸仓库,那么推送过去的文件你实际上根本不知道在哪儿。我尝试在本地仓库新增了一个 test.txt ,然后 push 过去,我找半天都没有办法在服务器端直接找到这个 test.txt 文件。但是,我再从服务器端 clone 到本地另一个新文件夹,test.txt 就完整的回来了。。。也就是说裸仓库中不会直接出现推送过去的文件?那显然我的目的就达不到了啊。( IP 地址 /SomeProject/a.jsp 可是 a.jsp 并不存在)
而如果新建一个非裸仓库在云服务器,它直接报错,我查了一下是因为 git 默认拒绝向非裸仓库进行推送。也就是说不支持这种行为。虽然好像能改参数改成支持,但我没改,因为 git 不支持这种行为,说明我一开始的那种需求并不是 git 想要完成的。
====分割线===
所以我现在就很迷。我也不是没搜索过,但就只能找到一些莫名其妙的或者太高深的内容。
我就奇了怪了,学习 java web 的人,难道就没有经历过如何优雅地把在本地编辑好地,运行 OK 的 java web 项目优雅地部署到服务器上去嘛?(用 FileZilla 这类软件,把本地的 javaweb 项目文件夹直接复制粘贴过去 OK 是 OK。。但就是不怎么优雅)到底应该怎么做啊?
比如我把服务器端的 /usr/local/tomcat7/webapps/SomeProject/这个文件夹作为一个远程 git 仓库
我本地的 java 项目所在的文件夹是一个本地 git 仓库
然后我编辑好这个 Java 项目,比如说弄了一个 a.jsp 吧通过 git 把这个项目推送到 /usr/local/tomcat7/webapps/SomeProject/,这样服务器端就有了这么个 a.jsp 。然后更新服务器端 tomcat,就能访问那个 a.jsp 了( IP 地址 /SomeProject/a.jsp )
这是我一开始对 git 的理解。。
====分割线===
但实际操作里我发现。在云服务器那边,如果新建一个仓库为裸仓库,那么推送过去的文件你实际上根本不知道在哪儿。我尝试在本地仓库新增了一个 test.txt ,然后 push 过去,我找半天都没有办法在服务器端直接找到这个 test.txt 文件。但是,我再从服务器端 clone 到本地另一个新文件夹,test.txt 就完整的回来了。。。也就是说裸仓库中不会直接出现推送过去的文件?那显然我的目的就达不到了啊。( IP 地址 /SomeProject/a.jsp 可是 a.jsp 并不存在)
而如果新建一个非裸仓库在云服务器,它直接报错,我查了一下是因为 git 默认拒绝向非裸仓库进行推送。也就是说不支持这种行为。虽然好像能改参数改成支持,但我没改,因为 git 不支持这种行为,说明我一开始的那种需求并不是 git 想要完成的。
====分割线===
所以我现在就很迷。我也不是没搜索过,但就只能找到一些莫名其妙的或者太高深的内容。
我就奇了怪了,学习 java web 的人,难道就没有经历过如何优雅地把在本地编辑好地,运行 OK 的 java web 项目优雅地部署到服务器上去嘛?(用 FileZilla 这类软件,把本地的 javaweb 项目文件夹直接复制粘贴过去 OK 是 OK。。但就是不怎么优雅)到底应该怎么做啊?