2011-04-14 302 views
0

保存提交历史记录存在问题。我有一个名为“主”的主分支。在根文件夹中,我有一个名为'kp'的目录和其他一些我不需要的东西。我想将'kp'文件夹中的所有内容都放到根目录下,并将文件的提交历史记录保存到一个文件夹中。我试过(一步一步):在git中保存历史记录

  1. 克隆回购;
  2. 创建新分支;
  3. 使用命令git filter-branch从'kp'文件夹中获取我的数据;
  4. 将新分支推送到回购。

但是没有历史。我做错了什么?

+0

为什么不只是“删除所有其他”? – KingCrunch 2011-04-14 13:41:39

+0

你是什么意思? – alexvassel 2011-04-14 13:43:40

+0

据我所知:您想要删除除kp /'文件夹内容以外的所有内容,并且想要将文件夹“kp /'的内容移动到您的存储库的根目录中。所以我的第一个建议就是这样。只需删除所有内容,除了一个文件夹,将所有内容全部向下并提交。 – KingCrunch 2011-04-14 13:49:14

回答

0

我相信你要找的答案是here

+0

我会试试看。但有一个问题。我确实很喜欢KingCrunch所说的(上图),历史已被保存。那么为什么我应该使用git filter-branch的方式?或者,也许我误解了一些东西? – alexvassel 2011-04-14 14:15:12

+0

人们为你所做的事情提供过滤器分支的原因大多数时候是有人问这个问题,他们希望它看起来像内容甚至从未在存储库中,你可以使用过滤器分支。有了KingCrunch的建议,所有这些内容仍然存在于回购协议中,如果您签出之前的提交,它将全部存在。如果您不担心回购规模(通常是过滤器分支的浮躁),这很好。 – asm 2011-04-14 17:21:25

+0

感谢您的解释。 – alexvassel 2011-04-14 17:31:30

相关问题