标签: git-flow

使用git flow发布时,如何更新pom.xml中的版本?

在maven项目中,项目的版本包含在<version>pom.xml文件的attritbute中.在git flow模型中创建新版本时,我需要修改版本号.本文解释了如何完成此操作(没有maven):

  1. 创建发布分支
  2. 更改版本号并提交
  3. 合并发布分支以开发和掌握

另外它说:

正是在发布分支的开始,即将发布的版本被分配了一个版本号 - 而不是之前的版本号.直到那一刻,开发分支反映了"下一个版本"的变化,但不清楚"下一个版本"最终是否会变为0.3或1.0,直到发布分支开始.该决定是在发布分支的开始时做出的,并由项目关于版本号冲突的规则执行.

我在这里看到与maven结合的两个问题:

  1. maven中正在开发的版本将是[下一个版本] -SNAPSHOT.因此,在我们创建发布分支的那一刻,我们无法真正推迟决定下一个版本.当然,如果我们稍后可以改变主意,但我们已经需要在此处输入/某些值/.
  2. 在创建我们的版本之前,让我们说pom.xml中的版本1.1-SNAPSHOT.现在我们已经将其更改为仅1.1在发布分支上并将其合并到master.精细.但是我们也应该将该分支合并回来进行开发,为此我们需要将版本调整为例如1.2-SNAPSHOT.也许我们不应该在发布分支上做到这一点,因为该提交不应该是发布的一部分.实际上,我们可能应该在分支开发之后立即进行此更改,因为所有未来的开发提交都将针对下一个版本.

当谷歌搜索问题时,我发现了一些关于maven-plugins的文章可以自动化这个过程,这可能很有意思,但这个问题实际上是关于git图应该是什么样子以及版本提交应该在哪里而不是我怎么做使用maven-plugin自动执行此操作.

versioning git maven git-flow

26
推荐指数
2
解决办法
2万
查看次数

错误:无法运行ssh:尝试在Windows上克隆时没有此类文件或目录

我试图在Windows上克隆一个远程存储库,所以当我这样做时:

git clone git@github.com:organization/xxx.git
Run Code Online (Sandbox Code Playgroud)

我收到了这个错误:

error: cannot run ssh: No such file or directory
fatal: unable to fork
Run Code Online (Sandbox Code Playgroud)

我错过了什么吗?Thanx提前.

windows git git-flow

25
推荐指数
4
解决办法
4万
查看次数

如何在完成命令的合并冲突导致休息后恢复Git-Flow?

每当我"完成"一个分支时,我是否真的需要一步一步地完成所有操作并且将它与Git-Flow合并?或者在所有冲突解决后有办法恢复?

git git-flow

25
推荐指数
1
解决办法
9280
查看次数

在多阶段部署中使用git-flow

在此处完成我的部署方案,绘制一个空白.在发布这个问题之后:将没有VCS的生产站点迁移到Git,我已经得到了部署到本地仓库的要点.

我的本地开发服务器上有一个git-flow存储库,我可以推送到它,它将更新外部工作树.

我用git-flow设置了我的repo,这就是我的原始遥控器的样子:

$ git remote show origin
* remote origin
  Fetch URL: ssh://user@host/var/git/dev/repo.git
  Push  URL: ssh://user@host/var/git/dev/repo.git
  HEAD branch (remote HEAD is ambiguous, may be one of the following):
    develop
    master
  Remote branches:
    develop tracked
    master  tracked
  Local branch configured for 'git pull':
    master merges with remote master
  Local refs configured for 'git push':
    develop pushes to develop (up to date)
    master  pushes to master  (up to date)
Run Code Online (Sandbox Code Playgroud)

我试图做的是设置2个伪环境.一个用于分期,一个用于生产.我希望他们的行为如下:

git push staging #pushes to remote staging repo with …
Run Code Online (Sandbox Code Playgroud)

git deployment git-flow

23
推荐指数
1
解决办法
4203
查看次数

如何在暂存环境中使用git flow?

我们使用git-flow来处理修补程序和功能,使用开发分支和主分支(用于生产).

将临时分支添加到组合中的最简单方法是什么,以便我们可以在开发过程中验证正在进行生产的工作,同时仍然保持git-flow的有用性?

git branching-and-merging git-flow

23
推荐指数
2
解决办法
5439
查看次数

什么是主分支和发布分支?

我的英语不够理解 git flow

为了我的理解.

Master branch 适用于可由用户在市场上下载的现成产品.

但是有一个release branches我没有想法这些分支是为谁发布的?

发布给客户?还是质量保证?

http://www.flickr.com/photos/appleboy/5488984404/

git git-flow

23
推荐指数
3
解决办法
3万
查看次数

Gitflow:在从发布分支合并到master时,我应该压缩提交吗?

我将合并我的发布分支到master,我想知道是否应该在合并到master时将提交从开发转换为单个合并提交.

关于git flow的一般文档包含Atlassian页面中的这类数据:

在此输入图像描述

在这些图中,只有单个提交出现在master上,而不是所有提交的提交.

实际上,我喜欢有一个只发布提交的主分支的想法.

合并成主人时,我应该保留所有提交的提交吗?或者在关注Gitflow时,在合并到master之前压缩提交?

git git-flow git-squash

23
推荐指数
3
解决办法
6257
查看次数

Maven:将插件执行绑定到另一个插件的执行,而不是生命周期阶段

关于接受答案的说明:由于强有力的间接证据,我接受了答案.尽管如此,这是间接的证据,所以要带上一粒盐.


当用户运行插件目标而不是生命周期阶段时,如何触发插件?(之前已经问过,但答案是使用生命周期阶段.)

例证:我需要release:branch调用regex-plugin以生成一个当前版本作为其名称的分支,减去-SNAPSHOT后缀.这就是我所拥有的,它要求开发人员激活配置文件并调用verify阶段.我需要开发人员简单地调用release:branch,这反过来应该导致regex-plugin运行.与Gitflow有点结婚.

<profile>
    <id>Release Branch</id>
    <build>
        <plugins>
            <!-- On validate, compute the current version without -SNAPSHOT. -->
            <!-- Put the result in a property. -->
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>build-helper-maven-plugin</artifactId>
                <version>1.7</version>
                <executions>
                    <execution>
                        <phase>validate</phase>
                        <goals>
                            <goal>regex-property</goal>
                        </goals>
                        <configuration>
                            <value>${project.version}</value>
                            <regex>^(.*)-SNAPSHOT$</regex>
                            <replacement>$1</replacement>
                            <name>project.unqualifiedVersion</name>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <!-- Also on validate, run the branch plugin, and use -->
            <!-- the non-SNAPSHOT version thus computed in the …
Run Code Online (Sandbox Code Playgroud)

maven maven-release-plugin git-flow

22
推荐指数
2
解决办法
9110
查看次数

git - 对术语的混淆,"他们的"与"我的"

我对他和他们的意思完全混淆了.在这个特定的情况下,我有一个功能分支,我刚刚压缩了大约80个提交,rebase -i并将其合并回来develop.我遇到了一些冲突,我只想使用我的功能分支上的任何代码.我试过"我的",但实际上似乎反其道而行之.

有人可以对这个术语有所了解吗?

git git-flow git-branch

22
推荐指数
2
解决办法
1万
查看次数

什么是TDD的良好git工作流程?

我非常喜欢Gitflow分支模型
http://nvie.com/img/git-model@2x.png,

但我不确定在哪里放置TDD周期 - 我应该只使用一个功能分支并在每次写入或提交时提交通过测试(加上重构后)?创建一个子分支并将"已完成"单元合并到功能分支中?我是应该每次都进行失败的测试,还是只有在通过之后?

以下是我目前在功能分支上所做的事情:

  1. 写一个测试,提交
  2. 由于不存在接口,测试可能会产生错误,修复此问题,修改提交
  3. 使(现在只有失败的)测试通过,修改提交
  4. 重构,新提交
  5. 转到1

git tdd workflow git-flow

21
推荐指数
3
解决办法
3410
查看次数