我有一个带有master分支和其他几个分支的GIT项目。所有这些额外的分支只包含一个提交:
-- a -- b -- c
/ / /
-- A -- B -- C -- D -- E -- F -- G
我希望将此GIT存储库展平为仅包含具有其他分支的保留信息的主分支,如下所示:
-- A -- B -- a -- C -- D -- b -- E -- c -- F -- G
怎么可以这样做?
答案 0 :(得分:1)
你可以挑选(可能是for-each-rev
IIRC)
如果你知道不会有任何(新的)冲突:
git cherry-pick $(git for-each-ref -- --glob refs/heads | cut -d\ -f1)
或
git for-each-ref --shell --format="git cherry-pick %(refname)" refs/heads |sh