标签: feature-branch

管理依赖进行中的git功能分支/分支集

最近,我似乎有这样一个重复的场景,即正在开发多个功能分支,其中一个功能分支(feature-b如下图所示)取决于另一个未完成功能(开发中feature-a)的支持:

---o---o--o                    master
       |
       +---o---o---o           feature-a
                   |
                   +----o---o  feature-b
Run Code Online (Sandbox Code Playgroud)

每当我修改feature-a(包括交互式重定基以修复功能的错误),我需要重订feature-bfeature-a.这些是本地分支,所以我可以随意修改它们.

我经常遇到以下情况:

             master                                         testing
---o---o--o-------------------------------------------o---o
       |              feature-a                      .   .
       +---o---o---o                                .   .
                   |           feature-b           .   .
                   +----o---o .....................   .
                   |           feature-c             .
                   +----o---o .......................
Run Code Online (Sandbox Code Playgroud)

其中测试分支是正在开发的所有(相关)特征的组合,通过合并其上的所有相关特征分支(在图片masterfeature-b,feature-c- 和暗示feature-a)产生.

目前,特别是如果有更复杂的功能分支关系,我gitk一直打开可视化分支关系,并维护shell脚本自动执行此变基,但这种方法似乎很脆弱,而且是一般的麻烦.我想知道的是:

  1. 有描述和甚至的方式自动检测分支关系,然后用一个命令尝试重新执行所描述的关系(在上述简单例子中,转换后feature-a通过衍合或添加新提交的头部,进行自动重订feature-b上新的负责人feature-a).
  2. 用于将一组分支重新分配到其他提交的GUI工具(如果冲突会阻止操作,那么只是给出错误)
  3. 管理这个分支混乱的其他想法?所涉及的意外复杂性耗费了太多时间并且消耗了过多的脑力.

git workflow feature-branch

7
推荐指数
1
解决办法
1604
查看次数

如何使用TeamCity正确配置功能分支CI

我目前正在尝试建立TeamCity来构建所有不属于我团队主要分支的分支机构.我无法使其工作,并且只使用默认分支运行.我们的存储库具有以下分支:master,Daily-build,Branch-Alex和其他具有相似名称的分支.我非常希望这个构建配置在不包含master的推送上运行.以下是我配置的一些图片:

  1. VCS根:

VCS根设置

  1. 触发设置:

触发设置

  1. 当前构建配置:

当前构建配置

TL:DR - 在团队城市设置功能分支建设是否有更好的教程?

奖励积分 - 如何使名称只是分支名称而不是"ref/heads/Daily-build"?

git feature-branch teamcity-8.0

7
推荐指数
1
解决办法
3979
查看次数

当我从一个功能分支中"拉出--rebase origin development"时会发生什么?

假设我有一个名为的功能分支FeatureA,它与development它所基于的(远程)不同步.通常我会通过调用git rebase development(在origin/development自然地同步我的本地开发之后)来修改我的分支.

今天,我做了不同的事情,并git pull --rebase origin development从我的功能分支调用.现在,有什么区别?

git rebase feature-branch

6
推荐指数
2
解决办法
5286
查看次数

如何删除所有超过一年的 Git 远程分支?

我的“远程”服务器上有很多 GIT 分支。

  1. 如何删除超过 1 年的所有分支(不仅仅是合并)?
  2. 我怎样才能删除所有超过 5 个月的合并分支(多个来源“master/develop”)?

这个答案很好,但它并没有让我一直在那里。 如何删除所有已合并的 Git 分支?

您能否包括合并中的 master/develop 分支?我如何为此添加时间间隔?

git branch -r --merged | grep -v master | sed 's/origin\///' | xargs -n 1 git push --delete origin
Run Code Online (Sandbox Code Playgroud)

git version-control branch github feature-branch

6
推荐指数
1
解决办法
3519
查看次数

通过在SourceTree中选择commit id选项无法启动功能分支

我正在努力在我公司实施Git Flow分支策略,为此我正在测试SourceTree GitFlow中提供的所有可能选项.

到目前为止我遇到的两个问题:

  1. 我正在尝试通过选择具有值的指定提交来启动新功能分支,但是它失败并出现以下错误sh.exe C:\ Users\useraname\AppData\Local\Atlassian\SourceTree\gitflow_local\gitflow\git-flow功能启动checkingfeaturebycommit d14c9a9a35d504958e3df6b42db5acfc8466bfd4致命:基地'd14c9a9a35d504958e3df6b42db5acfc8466bfd4'需要是一个分支.它不存在,是必需的.完成但有错误,请参见上文.

  2. 启动功能"工作副本父"时第二个选项的含义是什么,因为当我尝试通过选择此选项启动功能时,它也失败并出现相同的错误.

请帮助我理解这些,如果我做错了,请告诉我.

$ git flow release start releasefromcommit 35ec45c01872212ad5f33e068c984def5d18a284
Fatal: Base '35ec45c01872212ad5f33e068c984def5d18a284' needs to be a branch. It does not exist and is required.
Run Code Online (Sandbox Code Playgroud)

git feature-branch git-flow atlassian-sourcetree

6
推荐指数
2
解决办法
3919
查看次数

Git rebase 功能分支在向开发/主分支的拉取请求中弄乱了提交

我有以下场景:

  • 主分支:生产中的内容,可以包含修补程序
  • Develop-branch:我的开发人员用来创建拉取请求的分支
  • 功能分支:我们为开发人员正在实现的功能创建的分支。

开发人员完成工作后,他会在开发分支上创建拉取请求。批准后,我们​​将功能分支压缩合并到开发分支,以便不包括开发人员在功能分支上所做的所有提交。这使我们能够在开发分支上拥有清晰干净的 git 历史记录。

有时功能分支需要从 develop 分支变基,这就是麻烦的开始。

如何避免这种情况,以便 PR 仅包含来自功能分支的实际提交?

git git-merge git-rebase feature-branch git-squash

6
推荐指数
1
解决办法
591
查看次数

Subversion:合并子树与合并跟踪

Subversion功能分支引出需要从另一个功能分支进行更改

我有两个功能分支:"FeatureA"和"FeatureB".FeatureA已完成,但尚未合并到主干,因为尚未确认它是否应该在下一个版本中进行.

FeatureB正在进行中,事实证明需要对dbml实际应用于FeatureA的一些更改.

我有几个选项,其中一个是仅合并dbml和相关文件.我知道最佳实践是从工作副本根合并/更新/提交等,但是如果我要继续进行会导致什么问题呢?

svn merge feature-branch

5
推荐指数
1
解决办法
3680
查看次数

我应该在 Git Flow 中拥有长期功能分支吗?

我正在与一个团队一起使用 Git Flow。我们都从功能开发中分支出来,并在代码审查后合并回来。它对我们来说效果很好,但是我们现在有一个功能需要开发人员一个多月才能完成。这段时间我们将发布一些版本。

有几个问题可以推动这一点:

  • 我们应该如何处理这个问题?
  • 我们应该这样处理吗?
  • 或者我们应该将该功能分解为更小的合并请求?
  • 如果我们将其拆分,并且它是一个公共项目,我们如何确保此功能的一部分不会影响正在进行的版本?
  • 将开发合并到这个长期功能分支真的那么糟糕吗?我的同事担心这是反模式。
  • 如果我们不将开发一致地合并回这个长期功能中,那么当该功能最终完成时,难道不会产生不良后果吗?

git version-control version feature-branch git-flow

5
推荐指数
2
解决办法
2027
查看次数

Subversion 重新整合分支冲突

我正在使用svn版本控制并有以下问题:

  • 假设我在我的feature branch不断上游的变化中开发了一些东西trunk (通过简单地合并它们并解决冲突)。现在,在某个时刻,我进行了最后一次上游合并trunk并解决了冲突。并且,例如,在那之后merge我以某种方式设法“冻结”trunk - 所有提交都被trunk拒绝,并且它始终保持在相同的状态。

  • 这是否可以保证我执行merge --reintegratefor my时不会发生冲突feature branch?或者我错过了一些可能导致它们的其他条件和行动?

svn version-control merge conflict feature-branch

4
推荐指数
1
解决办法
765
查看次数

撤消重新定位功能分支到另一个功能分支

我正在开发一个开发分支和两个不同的(本地)功能分支.

a -- b -- e                  <-- develop
     \     \
      \     f -- g           <-- feature-branch-1
       \
        c -- d               <-- feature-branch-2
Run Code Online (Sandbox Code Playgroud)

我通过运行将来自feature-branch-1的更改合并到feature-branch-2中

git checkout feature-branch-2
git rebase feature-branch-1
Run Code Online (Sandbox Code Playgroud)

如果我理解正确,它现在看起来像这样:

a -- b -- e                  <-- develop
          |\
          | f -- g           <-- feature-branch-1
           \
            f -- g -- c -- d <-- feature-branch-2
Run Code Online (Sandbox Code Playgroud)

然而,我意识到我在分支1中引入了一个我不知道如何修复的错误.所以这个错误现在也在分支2中,并阻止我将feature-branch-2合并到develop中.我想回到原来的状态

a -- b -- e                  <-- develop
     \     \
      \     f -- g           <-- feature-branch-1
       \
        c -- d               <-- feature-branch-2
Run Code Online (Sandbox Code Playgroud)

这样我就可以安全地将feature-branch-2合并到develop中.我怎样才能做到这一点?

git git-rebase feature-branch

4
推荐指数
1
解决办法
343
查看次数