跳转到主要内容

合并多个其他分支来构建Git分支的实用工具。

项目描述

https://img.shields.io/pypi/v/git-build-branch.svg

通过合并多个其他分支来构建Git分支的实用工具。

  • 免费软件:BSD许可证

有关为项目做出贡献的指南,请阅读CONTRIBUTING文档。

文档

在某些情况下,可能需要完全控制要部署的代码。这可以通过创建一个YAML配置文件来描述应该包含在您的分支中的内容来实现。

文件的格式如下

trunk: master
name: autostaging  # name of the branch to build
branches:  # list of branches to merge into final branch
  - feature1
  - feature2
  - forkowner:feature3 # branch from fork of repository
submodules:
  submodules/module1:
    branches:
      - feature1
      - forkowner:feature2 # branch from fork of repository
  submodules/module2:
    trunk: develop
    branches:
      - feature2

为了增加对这个文件的安全性,您应该使用safe-commit-files实用工具

safe-commit-files --push /path/to/branch_config.yml

构建分支

此配置文件可用于构建部署分支

git checkout master
git-build-branch path/to/branch_config.yml

冲突解决

首先,确定冲突所在的位置。

a). 分支 foomaster 冲突

git checkout -b foo origin/foo
git pull origin master

# try to resolve conflict

git push origin foo

b). 分支 foo 与分支 bar 冲突

您不能简单地将foo合并到bar或反之亦然,否则foo的PR将包含来自bar的提交。相反,创建一个第三方的冲突解决分支

git checkout -b foo+bar --no-track origin/foo
git pull origin bar

# try to resolve conflict

git push origin foo+bar

现在将分支 foo+bar 添加到 branch_config.yml,并将分支foo和bar移动到其下方。

稍后分支B合并到master中,并从branch_config.yml中删除。

可能移除它的人也注意到了A+B,并执行以下操作。否则,任何看到A+B但未看到两个分支的人都可以随意假设需要执行以下操作。

  • 将A+B合并到A中。由于B现在已不存在,您希望将解决方法合并到A中,否则A将与master冲突。

  • branch_config.yml中删除A+B。由于它现在是A的子集,因此不再需要。

如果您不确定如何解决冲突,请通知分支所有者。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分发

git-build-branch-0.1.16.tar.gz (13.1 kB 查看散列)

上传时间

构建分发

git_build_branch-0.1.16-py2.py3-none-any.whl (13.1 kB 查看散列)

上传时间 Python 2 Python 3

由以下支持