git-rewrite-history相关内容

在Visual Studio Online中删除中间提交

我多次编辑了我的README.md,因为我没有看到预览按钮。 我可以删除它们中的一些,或者至少隐藏它们吗? 解决方案 小心 历史重写可以让你的源代码控制系统处于一个相当混乱的状态。确保您有足够的资源备份以防发生任何错误。 >根据您的团队项目设置,Readme.md存储在Git存储库中,您可以绝对重写历史记录并强制将压扁的提交推回到TFS,实质上使它忘记了中间数据。这是通过使用 ..
发布时间:2018-04-26 19:51:33 其他开发

从存储库历史中删除大文件后,Git repo仍然很大

我有一个代码库(至今)使用git来存储它的依赖关系。资料库本身在这里可用(警告:它很大)。不用说,我需要从版本库历史记录中删除依赖项,以便将其降低到合理的大小。 我通过使用 David Underhill的说明删除 lib 历史记录中的目录。但是,即使在这样做之后,存储库仍然超过300M。发行 git prune 和 git repack 有帮助,但它仍然超过180M。 为了找到任何臃 ..
发布时间:2018-04-26 19:49:12 其他开发

如何通过非交互式地压缩除最近的提交之外的所有提交来减少臃肿的Git仓库的大小?

我的Git repo拥有数百GB的数据,所以我试图删除陈旧过时的提交,因为它们让一切变得更大更慢。我需要一个快速的解决方案;越快越好。 如何压缩除最近 之外的所有提交,并且不必手动压缩每个提交一个在互动式重新分配?具体来说,我不想使用 git rebase -i --root 我的回购 我有这些提交: A .. B .. C ... ... H ..
发布时间:2018-04-26 19:45:17 其他开发

git:找不到blob - 想从包中删除它

我有一大块我想摆脱的! 我以为我使用这个解决方案删除了​​文件: http://dound.com/2009/04/git-forever-remove-files-or-folders-from-history/ (我用过 - --all 而不是 HEAD 以便从所有分支中删除文件) rm -rf .git / refs / original /&& git reflog expi ..
发布时间:2018-04-26 19:26:25 其他开发

如何从git存储库中删除旧版本的媒体文件

我有一个包含几个巨大媒体文件(图像和音频文件)的Git存储库。这些媒体文件的几个版本已连续承诺回购。这些文件是相同资产的相继改进版本,并且它们具有相同的名称。 我只想保留Git存储库中的最新版本,因为它正在成为太大了。 这样做最简单的方法是什么? 如何正确地将这些更改传播到上游存储库? 解决方案 我有一个脚本( github gist here )来删除选择从git仓库的 ..
发布时间:2018-04-26 19:18:26 其他开发

无效BFG使用后Git合并重复

我无论如何都深深地被整个知识库所困扰(只能由我使用),并且可以利用一些帮助来整理它。 这是我所做的。我意识到,在我的提交历史记录中,有一些文件包含我不想放置的凭据。所以,我决定合法,并尝试使用BFG Repo-Cleaner来解决这些问题。我把所有的凭据都扔进了.gitignores,然后继续努力将它们从历史中清理出去。按照文档说明,我执行了这些命令: git clone --mir ..
发布时间:2018-04-26 19:16:49 其他开发

在合并之前修改Git提交的消息

在合并到远程分支之前,我提交了一些测试代码。这次合并发生了很多冲突,并花了一些时间来纠正。所以我的历史看起来像这样: 7ab562c从远程分支合并 ...整个提交的提交负载从远程分支... f3e71c2临时测试提交 测试代码很好,我真的只想改变提交信息。通常情况下,我会立即着手使用 git rebase -i f3e71c2 ^ (因为还没有推送过),但一位同事告诉 ..
发布时间:2018-04-26 19:10:13 其他开发

如何以非交互方式重新排序Git中的提交

什么非交互式的git命令实现了从之前到之后的变化? 之前: A --- B --- C --- D A --- C'--- B'--- D' 解决方案 在您的情况下,您可以重新设定交互: git rebase -i HEAD〜4 然后您可以重新排序您的选择 例如,让我们在分支中添加三个文件: git add A git ..
发布时间:2018-04-26 19:09:40 其他开发

我怎样才能恢复git历史重写?

我正在使用 git filter-branch --tree-filter 来重写一个相当大的回购的历史,并且需要几个小时。我发现git正在使用一个临时目录来存储它的中间工作。这是否意味着如果它被中断可以恢复重写?如果是这样,怎么做? 编辑 我正在做的操作是移动几个目录。这些目前在子目录中,但我现在需要它们在根目录中。 例如 dir1 - dir2 - dir3 ..
发布时间:2018-04-26 18:39:29 其他开发

如何分割每个提交文件?

我知道如何使用 git rebase -i 手动分割一个提交,但是我怎样才能通过文件自动分割每个提交?例如,提交 A 修改3个文件,f1,f2和f3。 分割后,有3个提交A-f1,A-f2和A-f3。 我想这样做,不得不挤压一些小的提交。 按照以下脚本分割 HEAD : >#!/ bin / bash set -e LF = $'\'' SHA = $(git rev-pars ..
发布时间:2018-04-26 18:35:56 其他开发

我怎样才能将Git存储库结合到线性历史记录中?

我有两个git仓库 R1 和 R2 ,其中包含两个句点的提交 产品的发展:1995-1997和1999-2013。 (我通过将现有的RCS和CVS存储库转换为Git来创建它们)。 $ p $ R1: A --- B --- C --- D R2: K --- L --- M --- N 如何将两个存储库合并为一个包含 的项目线性历史记录的精确视图? A --- ..
发布时间:2018-04-26 14:15:35 其他开发

从git repo中删除'.git'目录?

我正在尝试将一个git repo从Kiln迁移到Github。我可以添加新的远程设备,但是当我尝试将主设备推送到新的远程设备时,出现以下错误: 计数对象:8691,完成。 使用多达8个线程的增量压缩。 压缩对象:100%(3000/3000),完成。 remote:error:object a9ee490ac00987835de30bdbc851da5e8d45d28b:包含'.gi ..
发布时间:2018-04-26 13:51:48 其他开发

真的弄平了一个git合并

StackOverflow上的“拼合合并”几乎没有问题,通常是“git rebase”。这些答案虽然错过了一个关键点 - 提交顺序。 假设有一个提交Jun 1和Aug 1的分支A和提交Jul 1的分支B UPDATE 来恢复下面描述的用例:分支是完全独立的,没有共同的祖先,例如来自2个不同的存储库)。当将B合并到A中时,会有以下历史记录(每个git日志): 合并分支'B' Aug 1 ..
发布时间:2018-04-26 13:43:18 其他开发

如何修改Git中的几个提交以改变作者

我在Git中做了一系列的提交,现在我意识到我忘了正确设置我的用户名和用户邮件属性(新机器)。我还没有推送这些提交到我的仓库,所以我怎么才能纠正这些提交之前,我这样做(只有在主分支3最新提交)? 我一直在寻找 git reset 和 git commit -C --reset-author ,但我认为我没有走上正轨。 git filter-branch - -env-fil ..
发布时间:2018-04-26 13:33:05 其他开发

git,所有分支上的filter-branch

我使用以下来源从我的存储库中删除一些大型文件和目录: http://dound.com/2009/04/git-forever-remove-files-or-folders- from-history / 为什么我的git存储库如此之大? git filter-branch 似乎只适用于当前分支 - 有没有办法将它一次应用到所有分支? 解决方案 解决方案很简单: ..
发布时间:2018-04-26 13:22:56 其他开发

如何从git历史记录中的文件中替换文本?

我一直使用基于界面的git客户端(smartGit),因此对git控制台没有多少经验。然而,我现在面对需要从历史记录中替换所有.txt文件中的字符串(因此,不会擦除整个文件,而只是替换字符串)。我发现了以下命令: git filter-branch --tree-filter'git ls-files -z“* .php “| xargs -0 perl -p -i -e”s#(PASSW ..

用重写的Git回购历史记录更新开发团队,删除大文件

我有一个git repo,里面有一些非常大的二进制文件。我不再需要它们,而且我也不在乎能否检出早期提交的文件。所以,为了减少回购大小,我想从历史中删除二进制文件。 在网络搜索之后,我得出结论,我最好的(唯一的)选项是使用 git-filter-branch : git filter-branch - -index-filter'git rm --cached --ignore-un ..

在filter-branch --tree-filter之后从git repo删除refs / original / heads / master?

我有同样的问题在这里问:在根目录中新建一个git仓库,将一个存在的仓库包含在一个子目录中 我在这里跟随了这个答案:在根目录中新增git存储库以包含子目录中存在的存储库 现在, gitk --all 显示了两个历史记录:一个在当前 master 结尾,另一个名为 original / refs / heads / master 。 我不知道第二个历史是什么,或者如何从回购中删除它。 ..
发布时间:2018-04-26 12:58:44 其他开发