我想在项目中做一些CR。 bitbucket允许我一次审查一个提交。所以我想将提交折叠成一个提交(压缩 - > Collapsing a Group of Commits into One on Git),然后在一次提交中检查所有更改。
但是,当压缩时我会丢失所有提交历史记录,而我真的不想要它。
有没有其他选择(我知道我可以随时克隆和变基)?另外,一个简单的CR工具(请不是网络平台)就好了。
答案 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
应用于标记。