【问题标题】:Git workflow for development in a shared environment用于在共享环境中进行开发的 Git 工作流
【发布时间】:2016-08-16 11:44:40
【问题描述】:

我正在尝试为我们的案例找出最佳的 git 分支模型和工作流程。我们有一个非常特殊的设置:开发者没有本地环境,都使用相同的共享环境。

由于我们的环境难以复制,我们使用共享环境进行开发。修改会上传到此共享环境以执行和评估。

但是,有时开发人员会通过单独更新同一个文件并导致其他人的工作被覆盖而踩到其他人的脚趾。

我们还有一个用于测试和发布过程的登台和生产环境。

有人知道适合我们设置的 git 分支模型吗?

【问题讨论】:

    标签: git workflow


    【解决方案1】:

    我一直站在你的立场上。我假设您的意思是您使用一个共享的工作目录,您的代码(脚本?)在其中存在并被您的网络服务器或其他任何东西使用,并且每个人都在访问它(即 running 代码同时是您的单一共享工作空间)

    一个模型是:

    • 每个开发人员都有自己的存储库克隆,并且只允许在该目录中git add ; git commit
    • 如果开发人员想要修改“实时”工作目录,他只能通过在该目录中执行git pull ; git checkout xyz-branch 来实现。这是为了您使用这种相对无关紧要的 分支机制。你可以使用标准的“gitflow”http://nvie.com/posts/a-successful-git-branching-model/,或者我个人最喜欢的http://dymitruk.com/blog/2012/02/05/branch-per-feature/。甚至只是“每个开发人员一个分支 + master”。
    • 这会将问题从您的非历史记录本地工作目录转移到 git 提交树。您现在只需要找到一种方法(使用其中一个工作流)来摆脱直接在实时工作目录中手动修改文件的习惯。

    但明智的做法是努力摆脱开发环境中的共享工作目录,并努力为每个开发人员提供自己的工作目录。

    【讨论】:

    • 感谢 AnoE。你能提供一个具体的例子来说明“让开发人员以理智的方式一起工作”吗?
    • 我重新表述了那句话,@AnswerChaser
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-05
    • 2011-07-01
    • 1970-01-01
    • 2010-11-17
    • 1970-01-01
    相关资源
    最近更新 更多