我有一个git-cpan-init
的repo,它与我在github C:A:S:DBI上找到的另一个已经建立的git repo产生了不同的根节点。我已经在我的repo上开发了很多,我想在更权威的存储库的分支上合并或重放我的编辑。有谁知道如何做到这一点?我认为可以安全地假设修改后的文件中没有任何文件内容是不同的 - 代码库自08年11月以来就没有了。
为了清楚起见,git hub repo是权威的。我的本地回购是我想要的git hub,显示为一个真正的git fork。
答案 0 :(得分:15)
您应该能够将远程数据库添加到现有存储库(使用git remote add
),以便您可以将github存储库的内容提取到现有存储库中。
假设您的历史记录中有一个提交(称之为O),并且远程分支中的提交(称为R)对应于同一组文件(例如,它们都是相同发行版本的导入),然后你可以做一个'到'的rebase。假设您当前检查了更改的提示:
git rebase --onto R O # R and O are sha1 ids (possibly abbreviated)
这会将自O以来的所有提交重放到新的R根提交。
完成此操作后,如果您未使用最新的远程主分支,您可以使用正常的rebase来实现目标,而git的历史记录跟踪将注意您的更改是以有意义的方式应用的
git rebase <remote_name>/master # where <remote_name> is whatever
# you called the github remote when
# you used git remote add
答案 1 :(得分:0)
我认为Graft Point会有所帮助。