git-flow在更多的那个主人身上

时间:2015-04-13 13:41:52

标签: git atlassian-sourcetree git-flow sapui5

我在SouceTree上使用git-flow来管理我的项目; 一切都运行良好现在,但现在我想重新定义与后端的接口(总之我将替换对服务器的ajax调用函数调用新的oData对象...) 好吧,我的愿望是有两个分支:

  1. “遗产”掌握并开发分支机构我可以继续扩展我的项目所有ajax界面
  2. “new”掌握和开发分支机构我可以做大量的操作来连接新的oData对象和其他随之而来的变化。
  3. 第一个(坏)解决方案是从“遗留”开发中获得“新”发布分支。

    你有其他解决方案吗?

    P.S。 fork冷却是解决方案,但我无法分叉我的存储库..我没有github帐户,我在网络磁盘上有一个远程裸存储库。 我试图将old_repo克隆到fork_repo但是当我尝试将我的本地更改推送到远程fork_repo时,我有这样的消息:

    git -c diff.mnemonicprefix=false -c core.quotepath=false push -v --tags origin master:master
    Pushing to G:\Sorgenti\SorgentiGIT\intra_fork
    
    remote: error: refusing to update checked out branch: refs/heads/master[K
    remote: error: By default, updating the current branch in a non-bare repository[K
    remote: error: is denied, because it will make the index and work tree inconsistent[K
    
    remote: error: with what you pushed, and will require 'git reset --hard' to match[K
    remote: error: the work tree to HEAD.[K
    remote: error: [K
    remote: error: You can set 'receive.denyCurrentBranch' configuration variable to[K
    remote: error: 'ignore' or 'warn' in the remote repository to allow pushing into[K
    remote: error: its current branch; however, this is not recommended unless you[K
    remote: error: arranged to update its work tree to match what you pushed in some[K
    remote: error: other way.[K
    remote: error: [K
    remote: error: To squelch this message and still keep the default behaviour, set[K
    remote: error: 'receive.denyCurrentBranch' configuration variable to 'refuse'.[K
    

2 个答案:

答案 0 :(得分:1)

我认为您不太了解 master 分支的含义。

Master分支反映了项目的稳定版(在生产中运行,或准备好投入生产)版本。开发是您的主要开发分支,一旦您的功能完成,您所有功能分支都将合并。

准备好发布新版本的产品后,即可合并您的develop in master。

您要做的是维护两个主分支和两个开发分支。这是无意义的。您不能一个项目设置两个主分支。你想要同时维护这两个版本(所以,你接近有两个独立的项目,所以两个主人,没问题),或者你想在同一个项目上做所有。

如果你想"留下"在同一个项目中,你需要的不是第二对master / develop,而是或多或少的 v2 分支,你的所有功能都有v2 / feature分支。一旦您认为您的v2已准备好投入生产,请将其合并到开发中,然后在完成所有集成过程后将其合并。

答案 1 :(得分:0)

我当前的解决方案是第二个架构http://git-scm.com/book/en/v2/Distributed-Git-Distributed-Workflows(Integration-Manager工作流程),其中我有一个开发人员公共,它是 blessed repository 的分支当我和我的同事在分叉上开发时,我们已经克隆了2个开发人员私人代理人的相同开发者公共分支。 在我们的私人存储库中,我们使用git-flow工作流程http://michelebologna.net/2013/11/git-flow-il-modello-di-versioning-che-utilizzo/

在我的开发人员私人存储库中,我将上游存储库设置为祝福存储库,然后从 blessed repository master 获取并将更新提取到< strong>私人存储库开发