相关疑难解决方法(0)

将(移动)子目录分离到单独的Git存储库中

我有一个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 git-filter-branch git-subtree

1712
推荐指数
15
解决办法
25万
查看次数

如何从git存储库中完全删除文件?

我最近注意到我的文本编辑使用的项目文件(以及其他一些垃圾)都添加了项目的git存储库.由于它们实际上不是项目的一部分,我想删除它们,但git rm不会从存储库中删除旧版本,我找不到任何看起来很有希望的东西.

git

73
推荐指数
2
解决办法
3万
查看次数

如何清理提交树中未使用的侧枝?

你如何清理你的提交树(不是真正的git分支)中未使用的侧枝?

示例(树,伪提交哈希,提交消息,可选[指针]):

*    0001 last commit [master] [origin/master] [HEAD]
| *  0002 old, unused merge
|/|
* |  0003 some remote commits
* |  0004 another commit from remote
| *  0005 old, unused commits
|/
*    0006 old tree
Run Code Online (Sandbox Code Playgroud)

路径0001 0003,0004,0006应该保持不变,但是提交0002和0005没有用,并且没有任何好处.你如何删除提交0002和0005?

git git-rebase

7
推荐指数
1
解决办法
2082
查看次数

如何在git中使用我的更改进行合并?

在git中合并时如何强制"我的更改"?有人把所有bin目录放在git中,现在我有一个可怕的合并冲突:(

现在它说如下:

当你解决了这个问题后,运行"git rebase --continue".如果您希望跳过此补丁,请运行"git rebase --skip".要恢复原始分支并停止重新运行,请运行"git rebase --abort".

我不想合并,我只是想使用我的更改删除所有这些文件.

编辑:大多数文件已成功合并,通过自动合并或因为没有冲突.但是仍然有很多像下面这样的存在.

警告:无法合并二进制文件:src/reports/obj/Debug/TempPE/GroupMailDS.Designer.cs.dll(HEAD与添加的gitignore)

git msysgit

3
推荐指数
1
解决办法
2790
查看次数