我正在将一个流行的开源项目克隆到 GitHub 上,当我意识到这一点时为时已晚。我还尝试将此项目转换为使用 Maven 而不是 Ant/Ivy 作为构建工具。我能够通过 aptly-named 将存储库从 SVN 转换为 Git svn2git
,然后开始对 Maven 迁移进行更改。
我一开始就没有意识到我需要为 Maven 迁移创建一个单独的分支。有没有办法让我接受我的修订,将它们从 中删除master
,然后将它们发送到新分支?
答案1
假设您已对master
.以下是步骤的高级描述(根据您的特定存储库定制命令)。
在当前的 HEAD 处创建一个新分支(例如使用
git branch <newbranch>
)切换到当前
master
(git checkout master
)。追踪你原来的
master
HEAD 提交并移到那里(例如git reset --hard HEAD~n
)。当推送到远程存储库时,使用
--force
将撤消操作强加到存储库上(例如git push --force --all
:)