在开发函数时,如果在其他函数中发现错误,您会怎么做?

时间:2016-07-07 01:18:10

标签: git git-flow

例如,有几个大功能:User [需要开发UserControl,UserModel,UserService]和AdminPostComment

现在你在features/post分支,开发与帖子相关的功能。但是你在User相关函数中遇到了一些错误。

所以就gitflow而言,建议的方法是什么?

  1. TODOFix me添加到用户相关的功能,并在完成发布后修复错误并将代码合并到主人?

  2. 隐藏未完成的帖子相关代码,创建fix分支,修复错误,合并到features/post,隐藏弹出未完成的帖子相关代码,然后继续?

4 个答案:

答案 0 :(得分:3)

您可以随意修改自己喜欢的内容,无论它是否与您正在处理的“主题”相关。

然后使用git commit --patch仅添加提交符合该主题的更改。 (非常值得学习这个工作流程的所有细节,包括如何将帅哥分成更小的变化,以及如何编辑无法分割的帅哥,但包含有意和无意的变化的混合物。)

当主题提交全部使用一个或多个git commit --patch操作完成时,工作副本中剩余的所有内容都是主题外更改。此时,您git checkout可以git stash save使用git stash popgit 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。