【问题标题】:Review changes from multiple commits查看来自多个提交的更改
【发布时间】:2018-10-18 17:11:22
【问题描述】:

我正在使用 git-svn 来处理 SVN 存储库。我想做的一件事是使用 git diff 及其所有不错的选项查看更改。

有时,“正在进行中”的更改会提交给 SVN,我想等到工作完成后再进行审核。我想知道是否有 git diff 的调用可以让我看到所有这些相关的更改,而无需任何干预提交。

在视觉上,我有:

* e00 yet more irrelevant stuff
* a04 finish work
* a03 more wip
* d00 irrelevant stuff
* a02 more wip
* c00 other irrelevant stuff
* a01 more wip
* a00 start wip
* b00 state of tree before wip starts

我希望能够看到a** 提交的累积效果在b00 之上,没有c00d00e00git diff b00 a04 有不相关的更改。 git show a0{0,1,2,3,4} 产生过多的中间噪音。

我希望能够做到这一点,而无需像我目前的方法那样创建一次性分支。

类似问题herehere

【问题讨论】:

    标签: git git-svn


    【解决方案1】:

    您确实需要一个临时位置来汇总更改,因此您当前的方法很好。但是您可以使用未命名的分支(“分离的 HEAD”)使其自动消失:

    $ git checkout --detach b00
    

    (或者没有--detacha00^:无论哪种方式,都可以使用b00获取最新信息,但也可以分离HEAD),然后和以前一样:

    $ git cherry-pick a0{0,1,2,3,4}
    $ git diff master...
    $ git checkout master
    

    你就完成了:没有要删除的分支。

    【讨论】:

      【解决方案2】:

      到目前为止,我想出的最好的是:

      git checkout -b review-temp a00^
      git cherry-pick a0{0,1,2,3,4}
      git diff master...
      git checkout master
      git branch -D review-temp
      

      (我已将此作为答案发布,因此如果没有其他选择,我可以接受。)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-07-07
        • 1970-01-01
        • 2015-06-02
        • 2012-03-14
        • 2015-05-04
        • 1970-01-01
        • 2013-11-15
        • 2013-08-27
        相关资源
        最近更新 更多