我有一个Git存储库,其中包含许多子目录.现在我发现其中一个子目录与另一个子目录无关,应该分离到一个单独的存储库.
如何在将文件的历史记录保存在子目录中的同时执行此操作?
我想我可以制作一个克隆并删除每个克隆的不需要的部分,但我想这会给我一个完整的树,当检查旧版本等.这可能是可以接受的,但我宁愿能够假装两个存储库没有共享历史记录.
为了说清楚,我有以下结构:
XYZ/
.git/
XY1/
ABC/
XY2/
Run Code Online (Sandbox Code Playgroud)
但我想这样做:
XYZ/
.git/
XY1/
XY2/
ABC/
.git/
ABC/
Run Code Online (Sandbox Code Playgroud) 我想删除对我的工作副本的所有更改.
运行git status显示修改的文件.
我没做什么似乎删除了这些修改.
例如:
rbellamy@PROMETHEUS /d/Development/rhino-etl (master)
$ git status
# On branch master
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: Rhino.Etl.Core/Enumerables/CachingEnumerable.cs
# modified: Rhino.Etl.Core/Pipelines/SingleThreadedPipelineExecuter.cs
# modified: Rhino.Etl.Tests/Rhino.Etl.Tests.csproj
# modified: Rhino.Etl.Tests/SingleThreadedPipelineExecuterTest.cs
#
no changes added to commit (use "git add" and/or "git commit -a")
rbellamy@PROMETHEUS /d/Development/rhino-etl (master)
$ git checkout -- Rhino.Etl.Core/Enumerables/CachingEnumerable.cs
rbellamy@PROMETHEUS …Run Code Online (Sandbox Code Playgroud)