V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  Yancey  ›  全部回复第 4 页 / 共 8 页
回复总数  146
1  2  3  4  5  6  7  8  
@SourceMan 我这边磁盘小。。编译的时候拉十几个工程也是几个 G
@skydiver 几百个 branch 几千个 commits 怎么 rebase -i 不行吧
@kukat 编译没关系。。这不是编译服务器磁盘小么。装不下所有带.git 文件夹的工程了
@SpicyCat 因为是 android 项目。我查了下大文件, 基本是图片或 jar 包。这些图片或 jar 包经过迭代现在很可能已经不再使用了,但是还在仓库历史里面。所以.git folder 比较大。

看来这问题是无解了。
@bjzhou1990 恩。是个好办法。
我测试还是遇到问题
1. 在服务端。我自己测试的时候是通过 git init --bare 来建仓库的,所以服务端 git checkout --orphan 命令没法使用。。
2. 服务端进行操作后,所有的本地仓库都要克隆一遍。。


我考虑的办法。
假设我们要截断的点 hash 值为 1234abc
在服务端:
echo 1234abc > info/grafts
git filter-branch -- --all
以及后续删除 grafts 和 gc 操作

写个脚本让所有本地克隆的都执行。内容大概是
echo 1234abc > .git/info/grafts
git filter-branch -- --all
删除 grafts
git fetch --all

目的是让本地和服务端改变一模一样。这样本地的分支。没有 push 的 commits 都可以保留


还是遇到问题

在服务端;
执行 git filter-branch -- --all 之前要将所有的 1234abc 之前的分支都删除。

在本地
git filter-branch -- --all 执行的时候 origin/xx 这种分支也会被操作。总之结果很混乱。不是想要的效果


看来真的是无解啊。。
@zzn 背景是这样。 最开始一个主工程。然后 clone 了好几份工程作为不同的库(这个点我们暂定位 date 点)。后来这些库往不同业务发展。所以想将 date 点之前的所有 commit 删除。毕竟后来分成不同库了, date 之前和这些库完全没有啥关系。。
@bjzhou1990 我就是参考这个。如图的 git 结构,遇到问题是,因为截断点之前还有 commit 。会导致截断后除了 之后想要的 commit 线外。 branch1 branch2 不会被操作。保持原样。 分支混乱。。
@kukat 你这还不减? 我们一个工程就这么大。总共几十个工程。。。源码编译的时候硬盘受不了
@Yancey 对啊。截断导致结果就是从截断到现在最新的 commits 所有的 SHA1 值都会改变。。因为是公开的项目。很多人已经克隆了。。对本地的影响很大。
@forcecharlie
@forcecharlie 对啊。截断的效果就是从截断到现在最新的 commits 所有的 SHA
@vitovan 因为丢掉历史,会让从截断的地方到现在最新的 commit 的 ID 都改变,也就是相当于把所有的留下的 commits 都重新提交了一遍。 这个时候服务端和本地 commits 没有一个是能对应上的。强行 push 我们期望的效果是 服务端的 commits 和分支记录 都完全被更改过的本地 commits 替换掉。。但是 git 并不会这样。
@mengzhuo commits 是确定不会再用的, 所以要删掉。。 gc 一次 200M 顶多到 160M 。
@lijianying10 这种治标不治本啊。。
@vitovan sorry 看错,以为你说的 reset 。 rebase 是可以。但是一般服务器的仓库是一个裸仓库(没有工作目录), git rebase , git branch 命令都没法使用。。如果在本地操作,强推到服务端。所有分支都会混乱、、
@vitovan rebase 不行。。 rebase 是当前的回到某个时间点或 commits 。 现在是要把某个时间点之前的丢掉
@jason0916 能新建...也不会这么麻烦了
2016-06-30 16:49:03 +08:00
回复了 LevonLin 创建的主题 上海 暑假上海实习求合租~
@LevonLin 不是啊 ,爱博离地铁太远了。

徐泾东地铁站,西郊家园。
其实居住生活环境很差的。。

2k 预算可以去娄山关到淞虹路地铁站之间看看。
2016-06-30 16:41:09 +08:00
回复了 LevonLin 创建的主题 上海 暑假上海实习求合租~
@LevonLin 挺好
2016-06-30 16:31:40 +08:00
回复了 takeoffyoung 创建的主题 上海 好慌,马上实习了,上海的房子还没找好。
徐泾东吧孩子。哈哈
1  2  3  4  5  6  7  8  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3083 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 15ms · UTC 00:39 · PVG 08:39 · LAX 16:39 · JFK 19:39
Developed with CodeLauncher
♥ Do have faith in what you're doing.