2

在使用 Git 时,我尝试一次做一个小的更改,然后分别提交每个更改。这让我有详细的提交消息,并让我可以轻松地恢复单个更改,如这篇博文(不是我的)中所述。有时在处理一个大功能时,我会看到一个我想修复的不相关的小错误。根据我当前的系统,我必须注意稍后修复的错误(通常作为代码注释),提交大功能,然后返回并修复错误。

我想知道分支是否会让我修复错误并立即推送提交,同时我在另一个分支中完成该功能。我可以将修复推送到公共存储库我的“添加功能”分支吗?分支似乎有点笨拙,有没有更简单的方法来获得我正在寻找的结果?

4

2 回答 2

2

听起来您应该在功能分支中开发您的功能(例如,参见这个分支模型)。

所以你在你的特性分支中做你的特性工作。当需要修复错误时,您

  1. 从功能分支切换到您的主分支
  2. 在 master 中进行错误修复
  3. 推主
  4. 切换回您的功能分支
  5. 继续处理该功能
于 2013-05-13T08:56:22.720 回答
1

您问分支是否可以解决您的问题,所以我不会假设您已经像其他答案一样在分支上。

在一个分支中解决您的问题非常容易。这就是为什么git将工作副本与暂存的更改区分开来的原因。在您的情况下,修复错误并使用git add -p仅添加您关心的补丁集。git add <file>如果您在同一文件中没有任何其他工作,则可以使用。然后git commit(注意,not git commit -a,这意味着添加所有内容)一个补丁并恢复您的功能工作。

由于您描述的原因,我经常使用它,然后对于最终的功能签入,我再次使用它将主要功能拆分为更小的原子签入(如果适用)。

于 2013-05-14T03:43:18.783 回答