将旧GIT分支展平以掌握

将旧GIT分支展平以掌握,git,branch,Git,Branch,我有一个GIT项目,有master分支和几个其他分支。所有这些附加分支仅包含一个提交: -- a -- b -- c / / / -- A -- B -- C -- D -- E -- F -- G 我希望将此GIT存储库展平,只包含主分支,并保留其他分支的信息,如下所示: -- A -- B -- a -- C -- D -- b -- E -- c -- F -- G 如何做到这一点?您可以选择樱桃色(可能是每个版本

我有一个GIT项目,有master分支和几个其他分支。所有这些附加分支仅包含一个提交:

          -- a      -- b -- c
         /         /    /
 -- A -- B -- C -- D -- E -- F -- G
我希望将此GIT存储库展平,只包含主分支,并保留其他分支的信息,如下所示:

-- A -- B -- a -- C -- D -- b -- E -- c -- F -- G
如何做到这一点?

您可以选择樱桃色(可能是每个版本的
IIRC)

如果您知道不会有任何(新)冲突:

git cherry-pick $(git for-each-ref -- --glob refs/heads | cut -d\  -f1)


谢谢你的回答。不幸的是,我不得不解决一些冲突。但是使用git cherry pick,我可以手动进行所需的更改。
git for-each-ref --shell --format="git cherry-pick %(refname)" refs/heads |sh