相关疑难解决方法(0)

如何在保持更改的同时从Git存储库中删除选定的提交日志条目?

我想从线性提交树中删除选定的提交日志条目,以便条目不会显示在提交日志中.

我的提交树看起来像:

R--A--B--C--D--E--HEAD
Run Code Online (Sandbox Code Playgroud)

我想删除B和C条目,以便它们不会在提交日志中显示,但应保留从A到D的更改.也许通过引入一个提交,使B和C成为BC并且树看起来像.

R--A--BC--D--E--HEAD
Run Code Online (Sandbox Code Playgroud)

或者,理想情况下,A直接来自D.D'表示从A到B,B到C和C到D的变化.

R--A--D'--E--HEAD
Run Code Online (Sandbox Code Playgroud)

这可能吗?如果有,怎么样?

这是一个相当新的项目,因此目前没有分支,因此也没有合并.

git commit

239
推荐指数
5
解决办法
20万
查看次数

如何从git存储库中删除旧历史记录?

我恐怕找不到任何类似这种特殊场景的东西.

我有一个有很多历史的git存储库:500多个分支,500多个标签,可以追溯到2007年中期.它包含~19,500次提交.我们想在2010年1月1日之前删除所有历史记录,以使其更小更容易处理(我们将在存档库中保留历史记录的完整副本).

我知道我想要成为新存储库的根目录的提交.但是,我不能找出正确的git mojo来截断repo以从那个提交开始.我猜的是一些变种

git filter-branch
Run Code Online (Sandbox Code Playgroud)

涉及移植是必要的; 它也可能是必要的对待每一个我们要分别保持在200多个分支机构,然后修补回购重新走到一起(这是我知道该怎么做).

有没有人做过这样的事情?如果重要的话,我有git 1.7.2.3.

git git-filter-branch

188
推荐指数
8
解决办法
11万
查看次数

如何收缩.git文件夹

我目前的基数总大约是.200MB.

但我的.git文件夹有5GB(!)的惊人大小.因为我把我的工作推到外部服务器,我不需要任何大的本地历史......

如何缩小.git文件夹以释放笔记本上的一些空间?我可以删除超过30天的所有更改吗?

非常感谢任何帮助:)

git

112
推荐指数
6
解决办法
5万
查看次数

标签 统计

git ×3

commit ×1

git-filter-branch ×1