如何使Git repo在某次提交时启动?

时间:2016-01-28 04:11:25

标签: git github git-rebase git-filter-branch git-rewrite-history

我想在GitHub上公开一个旧的Git Repo网站。我不能这样做,因为repo包含原始站点及其文件以及当前站点。当前的一个是对旧站点的完全重写,因此,不与它共享任何文件。可悲的是,当我最初创建它时,我在回购中分支并在那里重写,然后将其合并回master

我不希望网站的旧版本公开,但我确实希望能够检查文件和内容,如果我需要审核的话。我想让新网站的回购从我最初分支到现在开始,保留我最近的提交历史。

我对如何做到这一点有一些想法,但没有什么具体的。这就是我的想法:

  1. 将此repo重命名为-old并运行一些花哨的脚本,该脚本从某个起始点获取所有提交,然后添加到新的repo。
  2. 将原始仓库升级到修改后的位置并创建新的-old版本。以某种方式在当前的回购中重写Git历史记录,从提交到新的回复。
  3. 创建master的分支,并以某种方式将当前仓库中的Git历史记录从提交重写为新的。
  4. [不想这样做] 创建一个新的仓库并重新开始。

1 个答案:

答案 0 :(得分:1)

您正在寻找重写历史记录的git rebase

切换到要重写的分支,运行git rebase --root --interactive,然后将历史记录重写为您心中的内容。