0

我克隆了这个 repo ( https://github.com/zendframework/ZendSkeletonApplication ) 并开始对其进行更改。因此,如果您查看日志图,我的更改是最新的,其次是存储库的原始历史记录。该回购具有巨大的历史(超过 350 次提交),我不完全确定它是否对我有用。我想重新开始。

所以,两个问题:

问题一:

我如何重做(rebase?)repo,以便在开始对其进行更改之前我只有 repo 的最终副本,我的更改在它之上,并且没有 repo 的大量原始历史?又假装我下载了 repo,do rm .git, then git init,然后在它上面播放我的更改,除了我一开始没有这样做。

问题2:

做我在问题 1 中提出的问题是个好主意吗?为什么或为什么不——你能给我硬币的两面吗?

问题 2a:

我可能最终会破坏我的 repo 副本中的所有内容,所以无论我采取哪种方式 - rebase 或 not-rebase,我什至不确定我是否需要从原始 repo 中提取任何更改,如果它提前,因为我的变化将是巨大的。但是,我是否应该将原始 repo 中的任何重大更改拉入我的副本,如果 rebase 与 not-rebase 我的 repo 副本会是什么样子?我知道如果我不变基,我只会做一个git pull. 但是如果我做rebase,那我该怎么做呢?

更新:

我可以重做所有的事情吗?重新下载,,,rm -rf .git然后,从此git init过上幸福的生活?

4

1 回答 1

0

您可以将所有旧提交压缩到一个初始提交中,就好像您从导出而不是克隆开始一样。见http://git-scm.com/book/en/Git-Tools-Rewriting-History

查看交互式 rebase 和 squash 选项。

至于问题2,当然。您几乎没有理由关心骨架应用程序的先前历史。您的更改将立即发生分歧,因此未来的更改与您基于它的应用程序相关的可能性很小。

于 2013-11-13T07:16:07.530 回答