如何使用可以恢复的有意义的提交消息进行小的更改?

时间:2013-05-13 08:40:08

标签: git

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

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

2 个答案:

答案 0 :(得分:2)

听起来你应该在功能分支中开发你的功能(例如,参见this branching model)。

因此,您可以在功能分支中执行功能。当需要修复错误时,你

  1. 从功能分支切换到主分支
  2. 在主人
  3. 中修复错误
  4. 推送大师
  5. 切换回您的功能分支
  6. 继续处理该功能

答案 1 :(得分:1)

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

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

我经常使用这个,因为你描述的原因,然后为了最后的功能检查我再次使用它将主要功能分成更小的原子签到(如果适用)。