- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我使用
在我的本地仓库中删除了一些无法访问和悬空的提交git fsck --unreachable --dangling --no-reflogs
git reflog expire --expire=now --all
git gc --prune=now
但我发现已删除的提交在原点(准确地说是 GitHub)上仍然可用。
我尝试了 git push --force
但它没有将更改同步到 origin。我如何强制将更改同步到源(也从远程删除无法访问/悬空的提交)?
这是一个没有答案的类似问题:
最佳答案
您无法指定远程设备如何存储来自客户端的数据。
首先,我认为首先要了解您的本地存储库与远程存储库不同。 git fsck
和 git gc
在本地存储库上运行——您已经知道了,因为您在问这个问题。
其次,Git 通过传递对象来工作。这里的技巧是它只讨论网络上可达的对象。意思是,必须有一条从引用(分支或标签)到历史中的对象的路径。如果所引用的对象不可访问,Git 将拒绝将其传输给客户端,即使它在对象数据库中也是如此。不利的一面是,您在本地所做的任何不涉及修改或更新引用的事情都无法在本地和远程存储库之间进行通信。你不能说“将我的本地对象数据库布局同步到远程”。你只能说“让我的本地和远程之间的可达对象相同”。
最后,事物如何在 GitHub 中表示,以及对象最终是否被修剪,完全取决于 GitHub。扎克霍尔曼 has given a talk关于幕后发生的一些事情。我想他们有时会在后台运行一些东西来修剪悬挂的对象,但从远程访问的角度来看,这真的无关紧要——人们无法访问未引用的对象。剩下的唯一问题是尺寸。我知道他们正在进行某种修剪,因为我过去修剪过存储库并减小了它们的大小(您可以通过使用 api 调用查看 size 成员来检查这一点。您可以以此为例:https://api.github.com/repos/jszakmeister/vimfiles ).
如果您的目标是缩小存储库大小,因为您 checkin 了太大的对象,请查看 Removing sensitive data GitHub 帮助部分的页面。它同样适用于您想要永久删除的大文件(简单地通过提交删除它们不会将它们从历史记录中完全删除)。
如果目标是通过压缩和删除悬挂对象来减少存储库大小,GitHub 已经在做自己的事情了,而您对如何完成并没有太多控制权。不过,他们竭尽全力保持其小巧、快速和高效。
关于git - 在 reflog 过期和 gc prune 后推送到源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25907313/
我的情况是这样的......在同一个仓库工作的人已经从他的本地和远程仓库中删除了一个分支...... 大多数在 Stack Overflow 或其他网站上询问过此类问题的人都有分支问题仍然显示在他们的
我昨天运行命令 docker system prune,花了一些时间,然后我的 SSH session 因其他原因断开。 不幸的是我现在得到了: 来自守护程序的错误响应:修剪操作已在运行。 显然有一个
在阅读一本名为 Java Performance 的书时,我遇到了这个术语。你可以在这里找到它free sample pages第 6 页“少写代码” 最佳答案 根据 dictionary.com ,
有谁知道如何实现称为 PRUNING 的图像处理技术?任何想法,例子等?我正在使用 OpenCV 和 C#,如果有人可以提供帮助,我将不胜感激。 最佳答案 我假设您希望从图像中移除不需要的杂散和伪影。
我正在使用 git version 2.14.2.windows.2 并调用 git worktree add 在“正常”存储库上创建工作树。这在 创建了一个新的工作树结构对于分支并添加了 .g
我有一堆被删除的远程分支,现在我想删除本地的分支。我试过: git fetch -p 但它不起作用。 如果我这样做: git branch -r 和 git 分支 列表不一样,因为 git branc
来自手册页: Deletes all stale tracking branches under . These stale branches have already been removed fr
题目地址:https://leetcode.com/problems/binary-tree-pruning/description/ 题目描述 Weare given the head node
我需要在第一个目录中编辑提示文件,而不是在子目录中递归。 find(\&read_cue, $dir_source); sub read_cue { /\.cue$/ or return;
当我使用docker-compose build命令构建docker镜像时,我看到了一件意外的事情。 当Dockerfile仅具有一个RUN命令时 那么图像尺寸会减小。 当我们将其拆分为每个单独的RU
运行docker system prune -a之前,我的空白空间为900 MB,运行它可以为我提供 65 GB可用空间,尽管该命令报告说它仅清除了14.5 GB的 我在这里遗漏了什么报告是错误的吗?
我正在范 Derby 尔特大学独立学习 CS251。这项工作是为字符数组编写一个外观包装器并使其可调整大小。但是,有一个方法 prune() ,我不明白它应该做什么。你们能解释一下这个方法的含义吗?因
我有一个数据框,如下所示: data = [['1','tom',1,0],['1','tom',0,1],['2','lynda',0,1],['2','lynda',0,1]] df = pd.D
在我看来,我对 RX 函数有很好的“感觉”——我使用了其中的许多函数,或者可以想象其他函数如何有用——但我找不到 .Prune 函数的位置。我知道这是对 AsyncSubject 的多播,但这在实际场
谁能解释一下这两个陈述: 在成本复杂度剪枝中,剪枝后的树误差永远不会小于训练数据集上的原始树。 在成本复杂度剪枝中,剪枝后的树误差永远不会小于验证数据集上的原始树。 第一个说法正确,第二个说法错误。
根据 GNU find 的联机帮助页,默认使用 -print 操作, Actions which inhibit the default -print are -delete, -exec, -exe
我有一些 git 存储库,我想计算它们包含多少个 .txt、目录和其他文件。问题是每个存储库内都有一个 .git 目录,其中包含更多文件和配置。我不想计算我正在查找的文件夹,或 .git 目录或其包含
我想将 Eigen 用于稀疏矩阵乘法,在每次迭代中我想删除低于特定阈值的所有条目。在我看来,Eigen 只删除恰好等于零的元素。 我正在运行 Eigen 3.3.7,使用 g++ 进行编译。 #inc
我有一个字典和一个要从字典中删除的键列表。这是我现在的实现: var keys = (from entry in etimes where Convert.ToInt64(en
我正在寻找 git 版本 1.7.4 中不可用的命令,但我无法升级 git 客户端。 那么,有没有什么命令等同于 git push --prune 最佳答案 prune对于远程“删除 下的所有陈旧远
我是一名优秀的程序员,十分优秀!