压缩一组提交但保留其他提交

时间:2020-06-23 01:31:51

标签: git squash

我想只压缩由我自己进行的提交,并且仅在功能分支上进行压缩。

我发现很多例子,说明项目中只有一个开发人员可以随意将自己喜欢的东西挤到自己的分支机构中。

当多个开发人员同时提交时无济于事。

当我尝试这样的事情时:

git rebase -i HEAD~5

下一步是我遇到的问题:

pick asd324 Someone elses commit 1
pick aswe24 Someone elses commit 2
pick assd24 Someone elses commit 3
pick asd324 My commit I want to squash 1
pick ssdc24 My commit I want to squash 2
pick a23224 My commit I want to squash 3
pick 444v24 Someone elses commit 4
pick asbnjl Someone elses commit 5
pick 3hn324 Someone elses commit 6
pick 2gew24 Someone elses commit 7

# Rebase asdsdad..asdasdas onto asdasdasd (10 commands)

有选择,挤压等选项,但不确定我无权触摸或更改的提交需要使用哪些选项。它们是其他人的代码,位于不同的分支上,尽管我们都合并到同一个分支中。

我该怎么办?

谢谢

1 个答案:

答案 0 :(得分:3)

如果分支已经已发布(似乎是这种情况,因为您之后又有其他开发人员的修订),那么您很不走运,除非您(所有人)都同意重写该分支的历史记录...。当您压缩修订版本,然后应用其他开发人员提供的其他(更高版本)修订版本时,您正在创建新的修订版本。