Git 从服务器本地拉取项目,并将其与现有项目合并

Git 从服务器本地拉取项目,并将其与现有项目合并,git,server,fetch,production-environment,staging,Git,Server,Fetch,Production Environment,Staging,我的问题不是一个技术问题,而是一个更有经验的GIT用户的建议 因此,我们的团队在服务器中有2个目录,一个用于暂存,我们在其中测试所做的更改,另一个是公共目录,我们可以在其中找到实时网站的文件。到目前为止,我们一直使用FTP更新公共目录上的文件,但现在我们切换到GIT,以便跟踪更改 我用一个钩子设置了GIT环境,这样当我们从本地的登台存储库推送一些更改时,它们会自动部署到服务器上的登台目录。现在我想对公共目录进行相同的操作,但是暂存和公共之间的一些文件(可能我的工作树也会有问题?)是不同的,我也不

我的问题不是一个技术问题,而是一个更有经验的GIT用户的建议

因此,我们的团队在服务器中有2个目录,一个用于暂存,我们在其中测试所做的更改,另一个是公共目录,我们可以在其中找到实时网站的文件。到目前为止,我们一直使用FTP更新公共目录上的文件,但现在我们切换到GIT,以便跟踪更改

我用一个钩子设置了GIT环境,这样当我们从本地的登台存储库推送一些更改时,它们会自动部署到服务器上的登台目录。现在我想对公共目录进行相同的操作,但是暂存公共之间的一些文件(可能我的工作树也会有问题?)是不同的,我也不想丢失本地暂存存储库中已经进行的提交

你认为什么是最好和最有效的方法来完成这个转换

我对程序的想法是:

  • 克隆服务器上托管的公共项目
  • 从服务器(公共)获取或合并我的本地存储库到克隆的respository
  • 现在我有了一个单一的repo,从这里我可以将我的更改推送到服务器上,并强制推送到登台

  • 您觉得这样可以吗?

    您可以使用内容过滤器驱动程序,以便在签出时自动生成这些文件


    请参阅“”:您可以使用版本
    afile.staging
    afile.prod
    ,但在签出时根据当前环境生成
    afile

    您可以使用内容筛选器驱动程序,以便在签出时自动生成这些文件


    请参阅“”:您可以使用版本
    afile.staging
    afile.prod
    ,但在签出时根据您当前的环境生成
    afile

    一句话,分支。这是分支机构非常适合的情况,但是,您的登台和生产设置应该是相同的。@LukeBriggs感谢您的提示!你能简单地描述一下这样一个基本的模型吗?当然-我会想象不同的文件是配置文件吗?更改任何必要的设置,使配置(并尽可能)保持不变。如果这真的不可能,那么您的回购将是测试代码,可以选择使用您的暂存服务器签出的
    stable
    分支(或签出
    master
    )。然后,您的马厩的另一个分支(例如,
    生产
    )将包含必要的修改文件。总之,分支。这是分支机构非常适合的情况,但是,您的登台和生产设置应该是相同的。@LukeBriggs感谢您的提示!你能简单地描述一下这样一个基本的模型吗?当然-我会想象不同的文件是配置文件吗?更改任何必要的设置,使配置(并尽可能)保持不变。如果这真的不可能,那么您的回购将是测试代码,可以选择使用您的暂存服务器签出的
    stable
    分支(或签出
    master
    )。然后,您的马厩的另一个分支(例如,
    生产
    )将包含必要的修改文件。