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



我认为这个问题非常通用,很抱歉没有具体。当我修改一些来代码以尝试新事物(无论项目或语言如何)时,如果所有项目或语言都失败,我都可能必须恢复为以前的git提交。但是,在对这些不确定的修改(我们称它们为X)的过程中,我还做了一些我想保留的好修正或添加(让我们称为y)。

是否有一种巧妙的方式将X和Y分开,以便在一天结束时我可以保留y并丢弃x?

这是我要做的:

  1. 为我的"不确定修改"制作一个新分支。
  2. 当我要做的时候,做一个可以独自站立的小提交。
  3. 如果我的承诺不够小,无法保留所需的更改,我将不得不回去拆分旧提交。交互式反向相关的提交,重置为〜,然后将更改分为相关的提交。
  4. rebase/cherry-pick提交我想回到我的原始分支。
  5. 挤南那些小的致力于保持历史清洁。

也许这是0x5453的答案中隐含的,但我只想添加一个精度,这在我的问题中是核心。为了制作小型独立提交,一个非常好的功能是互动添加/提交。我个人使用git commit --interactive。这使我能够选择我的一小部分修改能够聚集在逻辑上同质的提交中。这样,我可以将几个更改组织为不同的提交,并留下不确定的不确定更改(如果需要推/拉/拉动,则可能将它们藏起来)。当我一次拍摄许多无关的修改时,这非常方便。

也就是说,经常(交互式)提交的事情仍然非常重要,不要在大量的变化中丢失。

最新更新