将一个提交拆分为2并获得结果差异

时间:2012-11-29 18:27:15

标签: git review-board

我最近在工作中发布了一个差异审查委员会。直到之后我才真正检查差异,我发现编辑器删除了行尾的空格。我想将这些空白更改拆分为单独的提交。我怎么能这样做?

之后,我认为更新差异的最简单方法是实际上只是上传差异。自从我提交以来已经有很多提交,我已经重新定位了(我们总是在这里拉--rebase)所以只是使用猜测功能更新审查板可能无法真正解决。

注意:我已经推了。

2 个答案:

答案 0 :(得分:2)

我不熟悉“审核委员会”,但这是回答这部分问题的一般git策略:

  

我想将这些空格更改拆分为单独的提交。什么是最简单的方法。

git checkout whitespace-fix
git reset --hard <sha of commit you posted diff of>
git reset HEAD~1
git add --patch .

现在登上与空白问题相对应的帅哥(提示:使用“s”将表现出来的帅哥分成更小的帅哥)。完成后,提交并重新设置并完成新的提交。

git commit -m 'Remove whitespace at end of lines'
git rebase master

答案 1 :(得分:1)

我相信,要解决当前的情况,意味着 - 在审核委员会中得到的差异只包含您的相关更改(而不是空格更改) - <强>最简单的事情要做到这一点:

  1. 根据您获得的修订号重新创建差异 推送(像这样,你确保你没有相对路径问题 将差异再次上传到审核委员会时;
  2. 通过编辑来清除差异并仅保留相关更改(具体取决于 差异的大小,你有几个选择 - 简单 选择/删除或智能搜索&amp;替换,reg。 exp。等);
  3. 再次上传您的差异 (如果您想使用相同的审核请求,请使用 更新差异功能,否则,只需创建新的审阅 请求)
  4. 这些可以解决问题
    另一方面......

    我猜你应该通过在你正在创建的差异文件中获取这些空格来解决这个问题 - 当你查看代码修改的历史时,这会很难查看更改。
    在这里,你可以检查很多东西,比如你正在使用的diff命令。

    我希望这有帮助!