在maven项目中,项目的版本包含在<version>pom.xml文件的attritbute中.在git flow模型中创建新版本时,我需要修改版本号.本文解释了如何完成此操作(没有maven):
另外它说:
正是在发布分支的开始,即将发布的版本被分配了一个版本号 - 而不是之前的版本号.直到那一刻,开发分支反映了"下一个版本"的变化,但不清楚"下一个版本"最终是否会变为0.3或1.0,直到发布分支开始.该决定是在发布分支的开始时做出的,并由项目关于版本号冲突的规则执行.
我在这里看到与maven结合的两个问题:
1.1-SNAPSHOT.现在我们已经将其更改为仅1.1在发布分支上并将其合并到master.精细.但是我们也应该将该分支合并回来进行开发,为此我们需要将版本调整为例如1.2-SNAPSHOT.也许我们不应该在发布分支上做到这一点,因为该提交不应该是发布的一部分.实际上,我们可能应该在分支开发之后立即进行此更改,因为所有未来的开发提交都将针对下一个版本.当谷歌搜索问题时,我发现了一些关于maven-plugins的文章可以自动化这个过程,这可能很有意思,但这个问题实际上是关于git图应该是什么样子以及版本提交应该在哪里而不是我怎么做使用maven-plugin自动执行此操作.
我试图在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提前.
每当我"完成"一个分支时,我是否真的需要一步一步地完成所有操作并且将它与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-flow来处理修补程序和功能,使用开发分支和主分支(用于生产).
将临时分支添加到组合中的最简单方法是什么,以便我们可以在开发过程中验证正在进行生产的工作,同时仍然保持git-flow的有用性?
我的英语不够理解 git flow
为了我的理解.
Master branch 适用于可由用户在市场上下载的现成产品.
但是有一个release branches我没有想法这些分支是为谁发布的?
发布给客户?还是质量保证?
我将合并我的发布分支到master,我想知道是否应该在合并到master时将提交从开发转换为单个合并提交.
关于git flow的一般文档包含Atlassian页面中的这类数据:
在这些图中,只有单个提交出现在master上,而不是所有提交的提交.
实际上,我喜欢有一个只发布提交的主分支的想法.
合并成主人时,我应该保留所有提交的提交吗?或者在关注Gitflow时,在合并到master之前压缩提交?
关于接受答案的说明:由于强有力的间接证据,我接受了答案.尽管如此,这是间接的证据,所以要带上一粒盐.
当用户运行插件目标而不是生命周期阶段时,如何触发插件?(之前已经问过,但答案是使用生命周期阶段.)
例证:我需要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) 我对他和他们的意思完全混淆了.在这个特定的情况下,我有一个功能分支,我刚刚压缩了大约80个提交,rebase -i并将其合并回来develop.我遇到了一些冲突,我只想使用我的功能分支上的任何代码.我试过"我的",但实际上似乎反其道而行之.
有人可以对这个术语有所了解吗?
我非常喜欢Gitflow分支模型
http://nvie.com/img/git-model@2x.png,
但我不确定在哪里放置TDD周期 - 我应该只使用一个功能分支并在每次写入或提交时提交通过测试(加上重构后)?创建一个子分支并将"已完成"单元合并到功能分支中?我是应该每次都进行失败的测试,还是只有在通过之后?
以下是我目前在功能分支上所做的事情:
git-flow ×10
git ×9
maven ×2
deployment ×1
git-branch ×1
git-squash ×1
tdd ×1
versioning ×1
windows ×1
workflow ×1