Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 你如何组织你的编程工作_Git - Fatal编程技术网

Git 你如何组织你的编程工作

Git 你如何组织你的编程工作,git,Git,我是这个领域的新手,但在不久的将来,我必须为朋友开发一个应用程序(我已经做了一些应用程序的工作,朋友很高兴) 我假设我需要3个地方来存放我的作品,但我不确定这是否是最好的方法。我需要你的建议,意见,链接,书,关于这个主题的博客 我计划: 我开发应用程序的地方 我保存应用程序备份的地方 准备好使用应用程序的地方 我将在开发阶段使用git,但对于以后的开发阶段,我不知道使用什么工具,或者哪些是好的实践。你能给我一个建议吗 PS:在这个时候,我使用CAKEPHP来构建一些Web应用程序,但我也经常玩

我是这个领域的新手,但在不久的将来,我必须为朋友开发一个应用程序(我已经做了一些应用程序的工作,朋友很高兴)

我假设我需要3个地方来存放我的作品,但我不确定这是否是最好的方法。我需要你的建议,意见,链接,书,关于这个主题的博客

我计划:

  • 我开发应用程序的地方
  • 我保存应用程序备份的地方
  • 准备好使用应用程序的地方
  • 我将在开发阶段使用git,但对于以后的开发阶段,我不知道使用什么工具,或者哪些是好的实践。你能给我一个建议吗


    PS:在这个时候,我使用CAKEPHP来构建一些Web应用程序,但我也经常玩C++。

    常见的做法是有一个DEV、测试、集成测试和生产环境。集成测试和生产将大致相同

    我建议您也使用某种构建工具。你的问题不清楚你在使用什么样的平台/技术,但可能有一种适合你

    如果您使用的是Maven,那么约定是区分稳定版本和快照实验版本

    1:我开发应用程序的地方

    这将是您当地的git结帐

    2:我保存应用程序备份的地方

    你是指资料来源还是任何汇编的结果?寻找你能找到的来源

  • 使用公共服务,如或作为备份系统。如果您不介意使用不受您控制的服务,我建议您这样做
  • 设置自己的git服务器(安装了sshd和git的linux机箱就足够了)。您需要注意,在设置远程存储库时存在一些陷阱(存储库应该是空的,并且当有多个unix用户可以推入存储库时,您需要设置正确的权限)
  • 无论采用哪种方式,您都可以将提交推送到远程存储库,以备份您的工作

    3:准备使用应用程序的地方

    对于编译结果的存储没有明确的标准。典型情况下,结果以定义的编号方案存储在文件共享/web服务器上

    我将在开发阶段使用git,但对于以后的开发阶段,我不知道使用什么工具,或者哪些是好的实践。你能给我一个建议吗

    正如@Navi已经说过的,自动化构建工具是一个巨大的优势。最佳实践是使用一个命令构建,这意味着您需要在签出后运行确切的一个命令来构建完整的软件


    你也应该考虑一个系统,这是一个软件,它监视一个中央源代码库的变化,并在一个干净的环境中自动建立软件,当它检测到新的东西。如果有许多(>1)人在使用软件产品,CI系统尤其方便,因为他们可以非常快地显示损坏的版本。

    对于不使用任何版本控制软件的单个开发人员来说,快速而肮脏的工作流:

    • 实际生产:用户版本的精确副本
    • 发布:即装即用版本(应部署,但尚未部署)
    • 工作版本:您正在进行的工作
    • 备份:备份版本应处于工作状态

    如果您使用的是数据库,那么每个程序版本都有一个数据库版本。

    我发现开发和发布是一组最小的代码。某种版本控制是必不可少的。我使用HEAD进行开发,并在发布时使用branch。备份您的存储库,或者至少将其放在与用于开发和构建的存储库不同的磁盘上

    我更喜欢有三套代码:开发、测试和发布。每个都应该有一个自动化的构建环境。这些是构建环境。对于开发,只需要一套

    • 发布代码用于在下一版本之前应用的对已发布代码的更改。此处所做的任何更改要么合并回开发。或重新开发(在快速修复的情况下)
    • 测试代码是为测试而发布的。这为测试人员提供了一个相对稳定的环境。构建通常是标记的,但不是分支的。该标记用作发布分支的基础
    • 开发应该至少每天自动构建。这确保了代码可以在开发环境之外构建
    您可以使用GIT进行开发和生产,但工作流程与CVS或subversion不同。通过观察了解流程


    避免在环境中对应用程序进行编码。任何环境依赖性都应该来自环境的配置。在界面中显示一些构建和环境的指示是很好的

    以下是高生产率的最佳实践,但对于新手来说,这已经足够直截了当了

  • 设置本地开发环境。使用像OrtoiseSVN这样的VCS,或者理想情况下使用与IDE完全集成的东西。我使用Aptana和Subclipse开发PHP应用程序

  • 设置夜间脚本以远程自动备份VCS

  • 获取远程开发环境设置(即dev.mysite.com)。用于实时服务器测试、客户端验证、UI反馈测试等

  • 如果需要,可以设置一个临时服务器(stage.mysite.com)。用于实时集成测试、反馈测试等。如果您的项目足够小,您通常可以跳过此阶段,只使用您的开发环境进行集成测试

  • 设置生产环境(www.mysite.com)

  • 不要过度设计你的工作流程。。。你的时间很宝贵。现在,我想说,从这个开始,在你的腰带下获得一些经验,然后你就会知道怎么做