4

我正在做一个小型网络项目,我正在努力做正确的事。我学会了如何使用 git/github,这样我就可以在同一代码上与多个用户一起工作(现在只有我在多台计算机上)。

我的问题是 - 将文件上传到网络的正确方法是什么?

我可以通过 file-zilla 复制粘贴整个文件夹,但这似乎不是正确的方法。有没有办法通过 git 部署最新版本?github?记事本++(我正在研究)还是aptana?

我从哪说起呢?

4

4 回答 4

2

您的里程和策略可能会因您的工作流程而异。我在下面描述的内容适用于我目前的公司,但请随意尝试并找到适合您的内容。

在我们的 Git 存储库中,我们有一个“主”分支。所有新开发以及主要错误修复都发生在“主”分支的分支中。当它们准备好时,它们将合并到 master 中。这里的想法是没有未完成的功能或故意错误的代码在 master 中(理论上......)。

当我们想要做一个新的“发布”——我们网站上的一个新版本的代码——我会联系其他开发人员并确保他们正在处理的应该完成的东西已经合并到 master 并推送到 GitHub回购。我将通过将 master 中的更改拉取并合并到我的本地 repo 中,运行任何必要的数据库更新脚本,然后在本地进行测试,以确保我的 repo 本地副本是最新的。如果有问题需要修复,我会自己修复或请负责的开发人员修复它。如果事情看起来不错,那么我将登录到我们的临时服务器(它实际上在我们的实时服务器上,但使用一个单独的数据库和一个不可公开访问的 URL),将代码从 GitHub 存储库拉到那里的存储库,更新数据库,并在那里再次测试。那样,

如果事情仍然看起来不错,那么我将在我的本地开发存储库中使用适用的标签(如BETA-4or v1.8)标记存储库中的相关提交并推送标签。然后我会登录直播服务器,备份数据库,从 GitHub 中拉取 master 分支,然后使用git checkout来签出我刚刚创建的标签。这就是诀窍;如果你有一个标签(不是HEAD)签出,那么 Git 会将仓库的状态保留到该标签指向的提交时的文件中,直到你签出另一个标签。然后我在实时服务器上运行更新脚本,然后就可以了。

Git 是一个强大的工具,所有试图告诉你它易于使用的人都是正确的骗子。如果你是新手,我强烈建议你买一本关于它的好书。地狱,我几乎每天都在使用它已经快两年了,有时它仍然让我感到惊讶。O'Reilly 的书一如既往地不错,而且我发现SourceTree是一个不错的 OS X GUI 应用程序(你当然应该学习使用 CLI 界面,特别是这样你就可以通过 SSH 登录远程服务器并进行拉取等操作,但是一个不错的 GUI 可以使诸如执行提交之类的任务变得更加愉快)。

于 2012-04-21T12:12:13.970 回答
0

那里有专业的部署工具。imo 最好的一个是capistrano如果您不与ruby on rails您另外需要一起开发railsless-deploy

使用这样的系统,您可以轻松地将应用程序从 git 存储库部署到您有权访问的任何服务器。它需要一些配置,但你会得到它......

于 2012-04-21T11:34:15.077 回答
0

您可以查看 html5boilerplate 构建脚本http://html5boilerplate.com/docs/Build-script/。它做了很多事情,但这是对您问题的有价值的答案。

于 2012-04-21T12:06:50.790 回答
0

如果您对服务器具有 root 访问权限,则可以使用 svn 或 git 并将当前状态部署到您的在线项目

于 2012-04-21T12:00:23.073 回答