例如,有几个大功能:User
[需要开发UserControl,UserModel,UserService]和Admin
,Post
,Comment
。
现在你在features/post
分支,开发与帖子相关的功能。但是你在User
相关函数中遇到了一些错误。
所以就gitflow而言,建议的方法是什么?
将TODO
或Fix me
添加到用户相关的功能,并在完成发布后修复错误并将代码合并到主人?
隐藏未完成的帖子相关代码,创建fix
分支,修复错误,合并到features/post
,隐藏弹出未完成的帖子相关代码,然后继续?
答案 0 :(得分:3)
您可以随意修改自己喜欢的内容,无论它是否与您正在处理的“主题”相关。
然后使用git commit --patch
仅添加提交符合该主题的更改。 (非常值得学习这个工作流程的所有细节,包括如何将帅哥分成更小的变化,以及如何编辑无法分割的帅哥,但包含有意和无意的变化的混合物。)
当主题提交全部使用一个或多个git commit --patch
操作完成时,工作副本中剩余的所有内容都是主题外更改。此时,您git checkout
可以git stash save
使用git stash pop
和git commit --patch
使用git rebase -i
和 <li><a id="hrefid" href="#link">Link</a></li>
<div id="content"> </div>
提交不同的分支,以便解决您已经停止更改的任何投诉。
如果一切都在同一个分支中,那么顺序也许并不重要。您只需$('#hrefid').on('click', function (e) {
var load = $(e.target).attr("href");
if(load == "#link") {
$.ajax({
type: 'post',
url: "/page/test/272.html",
complete: function (event) {
$("#content").contents().remove();
$("#content").append(event.responseText);
}
});
}
});
您发现的错误修正,然后继续该主题。如果修复程序位于正在进行的主题修复过程中,您可以始终public static void main(String[] args) throws Exception {
File f = new File("in.txt");
FileInputStream stream = new FileInputStream(f);
InputStreamReader conexion = new InputStreamReader(stream,"ISO-8859-1");
BufferedReader reader = new BufferedReader(conexion);
String x;
OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream("in.txt"),"ISO-8859-1");
while((x = reader.readLine()) != null) {
writer.write(x);
writer.newLine();
}
writer.close();
}
:以交互方式对其进行重新绑定,以便主题提交在一起,并且附带的错误修复位于之前或之后。
在我的软件组织中,我必须创建一张票并获取此附带错误修正的错误号,并将其提交给Gerrit进行审核。如果它看起来很明显会得到快速而轻松的批准,那么我首先要做的就是在我正在进行的“重大”改变之前。
答案 1 :(得分:1)
我没有找到GitFlow定义的那个。
对我来说,基于对BUG的批评,我将决定立即修复它或者添加TODO以便稍后修复它。
我没有在具有当前开发功能的同一分支中修复它,因为它会让我的队友在审查我的源代码时感到困惑。
答案 2 :(得分:0)
我没有特别关注git-flow,但这是我尝试做的事情:
git-worktree
。或者,您最初可以将其作为离散提交在当前分支中修复,然后git cherry-pick
将其修复为上游分支,git rebase
将其从当前分支中删除。
答案 3 :(得分:0)
这是一个基于意见的问题 - git-flow不要求你以特定的方式解决这个问题。
我通常会回到开发分支,创建一个新的功能分支,修复那里的bug,然后一旦将其合并到develop中,我将重新设置我最初开发的功能,以便我现在拥有错误修复。
如果bug是紧急的并且develop与master不同,我将使用修补程序分支,并在将修补程序合并到master并开发后再次将我的分支重新设置为develop。