我想从线性提交树中删除选定的提交日志条目,以便条目不会显示在提交日志中.
我的提交树看起来像:
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存储库: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.
我目前的基数总大约是.200MB.
但我的.git文件夹有5GB(!)的惊人大小.因为我把我的工作推到外部服务器,我不需要任何大的本地历史......
如何缩小.git文件夹以释放笔记本上的一些空间?我可以删除超过30天的所有更改吗?
非常感谢任何帮助:)