我们有一种做法,在将特征分支的所有提交合并到master分支之前,先将其压缩,以便我们在master分支中拥有一个commit。但是我不经意间将特征分支合并到master中,而没有受到挤压。有什么办法可以解决这个问题。
答案 0 :(得分:1)
如果合并该功能分支后未对master进行任何提交,则可以:
master
中的硬重置为合并之前的提交master
并通知在该存储库上工作的任何其他成员,以便他们将自己的本地master
分支重置到该新master
HEAD。也就是说:
git reset --hard <SHA1 before merge>
# squash+merge
git push --force
合并后,我在
master
分支中有2次提交。
但是那些我提交的文件使我知道我更改了哪些文件。
我仍然可以通过上述方法重置分支,然后再次提交接下来的两个更改吗?
是的:他们can be cherry-picked并在新的master
HEAD上重播。
再次,一旦您强制(git push --force
)新的分支历史记录,您需要确保其他任何协作者都知道历史记录的更改,并相应地重置他/她自己的本地master
分支。