编码方法:在尝试新事物的同时保持好东西

时间:2016-06-15 16:11:52

标签: git methodology

我认为这个问题非常笼统,很遗憾没有具体说明。当我修改一些代码以尝试新的东西时,无论项目或语言如何,如果全部失败,我可能不得不恢复到之前的Git提交。但是在进行这些不确定修改的过程中(让我们称之为X),我也做了一些很好的修正或补充(让我们称之为Y)我想保留。

是否有一种聪明的方法来分离X和Y,以便在一天结束时我可以保留Y并丢弃X?

2 个答案:

答案 0 :(得分:3)

这就是我的所作所为:

  1. 为我的"不确定的修改创建一个新的分支"。
  2. 在我去的时候,做一些可以独立的小提交。
  3. 如果我的提交不够小,只能保留我需要的更改,我将不得不返回并拆分旧的提交。对相关提交进行交互式rebase,重置为HEAD~,并将更改拆分为相关提交。
  4. Rebase / cherry-pick提交我想继续回到原来的分支。
  5. 压制那些小小的提交以保持历史清洁。

答案 1 :(得分:0)

也许这隐含在0x5453的答案中,但我只想添加一个在我的问题中占主导地位的精度。要进行小型独立提交,一个非常好的功能是交互式添加/提交。我个人使用git commit --interactive。这使我能够选择我的修改的一小部分来收集一个逻辑上同构的提交。这样,我可以在事后组织几个更改到不同的提交,并留下未提交的不确定的更改(如果我需要推/拉,可能会隐藏它们)。当我在一次拍摄中做出许多不相关的修改时,这非常方便。

尽管如此,提交(交互式)经常是非常重要的,不要在大量的变化中丢失。