Asp.net 版本控制工作流推荐

Asp.net 版本控制工作流推荐,asp.net,git,version-control,asp-classic,content-management-system,Asp.net,Git,Version Control,Asp Classic,Content Management System,我刚从大学毕业,开始在一个三人发展团队工作。代码库当前不在任何版本控制系统下。我们的代码库是在经典的ASP和AdobeContribute中集成的,允许内容创建者更新自己的内容。现在,我们通过将web服务器的驱动器映射到工作站,直接在生产网站上开发。我坚信,我们应该将某种形式的版本控制集成到我们的工作流程中,并停止在生产web服务器上开发的做法,以利于本地开发 我设想工作流的工作方式如下所示: 每天从web服务器获取任何更改并更新本地文件 将获取的更改提交到个人版本控制系统(例如Github)或

我刚从大学毕业,开始在一个三人发展团队工作。代码库当前不在任何版本控制系统下。我们的代码库是在经典的ASP和AdobeContribute中集成的,允许内容创建者更新自己的内容。现在,我们通过将web服务器的驱动器映射到工作站,直接在生产网站上开发。我坚信,我们应该将某种形式的版本控制集成到我们的工作流程中,并停止在生产web服务器上开发的做法,以利于本地开发

我设想工作流的工作方式如下所示:

  • 每天从web服务器获取任何更改并更新本地文件
  • 将获取的更改提交到个人版本控制系统(例如Github)或分支
  • 对本地副本进行一些更改
  • 将我所做的更改提交到个人版本控制系统(例如Github)或分支
  • 将修改后的文件推送到web服务器并处理任何冲突

  • 我的思路可能不正确,但我正在寻找经验丰富的人的建议。

    既然您已经有了web服务器,您可以在自己的服务器上设置git服务器(远程回购)。。这将使远程repo更容易使用服务器端挂钩

    版本控制的工作流控制live网站,如下所示:

    处理开发远程回购的本地副本->进行更改->提交->推送到开发远程回购->如果准备将更改部署到网站->推送到生产远程回购

    先决条件:在您自己的服务器上进行两次远程回购

    设置devleop远程回购:

    # go to a directory, create an empty folder
    mkdir develop
    cd develop
    git init --bare
    # assume the URL for the develop repo is www.site/develop
    
    # go to a directory, create an empty folder
    mkdir production
    cd production
    git init --bare
    # assume the URL for the develop repo is www.site/production
    
    设置生产服务器:

    # go to a directory, create an empty folder
    mkdir develop
    cd develop
    git init --bare
    # assume the URL for the develop repo is www.site/develop
    
    # go to a directory, create an empty folder
    mkdir production
    cd production
    git init --bare
    # assume the URL for the develop repo is www.site/production
    
    在本地计算机中,克隆develop repo并添加要在git中进行版本控制的文件:

    git clone www.site/develop
    cd develop
    # add all the files for the website which you want to manage in git
    git add .
    git commit -m 'message'
    git push origin master
    
    如果您已经要在生产远程repo中推送文件,可以使用以下命令:

    git remote add prodcuton www.site/production -f
    git push production master
    
    如果每次将更改推送到develop repo后,更改都需要立即推送到生产远程repo,则可以使用develop repo.git/hooks文件夹中的后期接收挂钩

    #!/bin/bash
    git --work-tree=/path/to/develop --git-dir=/path/to/production checkout -f
    

    您也可以参考和。

    “我强烈认为,我们应该将某种形式的版本控制集成到我们的工作流程中,并停止在生产web服务器上进行开发的做法,以利于本地开发。”您相信这一点是对的,尽管这个问题主要是基于意见的,因此可能会被解决。请阅读中有关堆栈溢出主题的内容。即使这不是主题,我也会给您一些反馈。您会说“每天从web服务器获取任何更改并更新本地文件”。您希望看到什么样的更改?听起来您正计划对web内容进行版本设置。这通常不是一个好主意(至少,它不应该像代码那样进行版本控制)。使用Git或其他版本控制系统对代码进行版本设置,但不要包含内容(尤其是用户生成的内容)。感谢您抽出时间对我的询问做出详细的回复。