2015-04-17 184 views
2

我公司使用atlassian存储开发。所以,我们正常的开发过程是为你正在做的任何事情创建一个远程分支,将更改推送到分支,并执行pull请求。git本地补丁(或分支)管理

但是,很多时候我想浮动几次更改。例如,当我正在处理特性X时,我在Y中公开了一个错误。我希望在我提交拉时保持变更集独立。

我能想到的一对夫妇的蛮力方法:

  • 拥有多个本地回购每个修复,并同步推他们。
  • 创建大量远程分支,并行推送。
  • 使用隐藏来保存我的补丁集,并同步推送。

但是,必须有一个更简单的方法。我想我正在寻找某种被子,但没有订购。我想保留我的补丁集,直到准备好提交。

对此提出建议?

+1

许多* local *分支是否会为您工作,并根据需要根据“主”分支进行重新分配?如果不是这样,也许你可以解释一下你会错过这种方法,以便我们更好地理解你的情况。 –

+0

我认为这种方法可行。但是,我对git分支很陌生,所以我需要更好地适应rebasing。 –

回答

1

我想你已经列出了一些很好的解决方案来解决你的问题。

有时当我不想引入更改时,我只是不会将这些文件添加到我的提交中 - 只需指定要添加的文件git add filename。如果我快速测试,我真的只做这个 - 我想这可能会很快变得凌乱。 当它再次拉动时,如果其他人触摸了您正在处理的文件,您可能会遇到合并冲突..但重新引入您的代码应该很容易。

您可以试试git stash - 这会将未完成的更改保存到堆栈。您可以随时重新应用它们。另外,如果您正在研究长期增强或错误 - 我会创建另一个分支,如提到的克鲁格。