是否可以重新进行代码审查?

时间:2014-02-28 18:14:47

标签: git git-rebase

我想在项目中做一些CR。 bitbucket允许我一次审查一个提交。所以我想将提交折叠成一个提交(压缩 - > Collapsing a Group of Commits into One on Git),然后在一次提交中检查所有更改。

但是,当压缩时我会丢失所有提交历史记录,而我真的不想要它。

有没有其他选择(我知道我可以随时克隆和变基)?另外,一个简单的CR工具(请不是网络平台)就好了。

1 个答案:

答案 0 :(得分:1)

如果您的审核限制是一次提交,并且您想要查看提交列表,则应该分支然后压缩(通过rebase),在单独的专用分支上进行审核。这将是最简单的道路,你不会改变可能已被推出和发布的主线历史。


但我也想谈谈你的意见,

  

但是,当压缩时我会丢失所有提交历史记录,而我真的不想要它。

一般来说,你不能用git丢失提交历史记录。 rebase发生的事情是历史记录拆分,你的分支提示将指向新的ramus,但你的旧提交仍然存在 - 只是它们不能通过分支名称方便地访问,并且必须通过提交哈希。

示例

假设您想将B,C,D,E压缩为一次提交审核。

              A--B--C--D--E  topic
             /
H---I---F---G master

完成重新定位并将B,C,D,E压缩为S后,原始提交可用,但没有与之关联的分支:

                B--C--D--E
               /
              A--S  topic
             /
H---I---F---G master

因此,如果您结帐E,您将处于分离头状态,但您只需将topic指向E

git update-ref refs/heads/topic E

树将如下所示:

                B--C--D--E  topic
               /
              A--S
             /
H---I---F---G master

对于上述内容,您必须记住E的提交哈希,以便能够在主题分支中的rebase之后引用它。这有点不方便,但您可以将git标记应用于E,然后git reset应用于标记。