13得票1回答
如何使用BFG Repo Cleaner删除一个文件夹/目录?

如何使用BFG删除一个目录? 帮助文档中写道: delete folders with the specified names (eg '.svn', '*-tmp' - matches on folder name, not path within repo) 这似乎意味着--dele...

12得票2回答
如何使用 git-filter-repo 在全新的克隆中从 git 历史记录中删除文件

我正在遵循这个答案来从 git 历史记录中删除包含凭据的单个文件。我有git 2.35.1和filter-repo 22826b5a68b6。我需要运行的命令是: git-filter-repo --path auth.json --invert-paths 如果我尝试将此应用于我的工作...

12得票1回答
从git仓库和提交历史中递归删除所有二进制文件

我已经阅读了关于从Git提交历史中删除大型二进制文件的几个 不同 讨论串, 但我的问题略有不同。因此,我在这里提出问题,以理解和确认步骤-- 我的git仓库位于~/foo。我想从仓库内的一个目录(特别是~/foo/public/data)中删除所有的*.jpg,*.png,*.mp4,*.o...

12得票3回答
如何防止在公共提交中本地修改Git

我已经在我的git中央仓库服务器上添加了receive.denyNonFastforwards和receive.denyDeletes。现在,如果提交已经被推送到中央仓库(就像mercurial默认情况下所做的那样),我希望阻止本地历史记录的修改。我想我可以使用一个钩子,但是我找不到任何示例。...

12得票4回答
真正地平滑进行git合并

在StackOverflow上有一些与“展平合并”有关的问题,通常的答案是使用“git rebase”,但是这些答案忽略了一个至关重要的点——提交顺序。 假设有一个分支A,其中有Jun 1和Aug 1两个提交,以及一个分支B,其中有一个Jul 1的提交(更新以恢复下面描述的用例:分支完全独立,...

11得票1回答
更改特定提交的提交信息

注意:与这个问题类似,但有一些重要的更改。 我有以下函数可以重写提交的日期,给定提交ID:rewrite-commit-date () { local commit="$1" local newdate="$2" newdate="$(date -R --date "...

11得票2回答
如何将多个Git仓库合并为一个并交织历史记录

我的情况是,我有两个Git仓库需要合并成一个仓库(实际上有更多的仓库,但我可以从两个开始)。 这两个仓库分别是: 主要仓库A。 第二个仓库B。 仓库B中的代码依赖于仓库A中的代码(但反之不然),而且两个仓库的历史记录按照时间顺序紧密相连 - 大致如此(即仓库B中的特定提交通常需要来自...

11得票1回答
Git:如何重写远程历史记录?

一位同事不小心提交了一个很大的二进制文件,这个文件没有必要放在源代码控制中心,因此导致存储库异常大。之后,他将此提交推送到公共服务器,并且之后还有一堆其他的提交和推送。我正在寻找一种方法来撤销该提交,或者只是从远程中删除该二进制文件,以便存储库重新恢复其通常大小。 我们的共同远程存储在ass...

11得票1回答
BFG Repo Cleaner - 代替全新克隆的选择

我原本打算在代码库上提问,但似乎在 Stack Overflow 上更加合适。 我已经使用 BFG Repo Cleaner(非常好用的工具,谢谢!)将我们的.git文件夹大小减少了超过 1GB,对于我们的代码库来说这是一个巨大的成功。但由于我担心推送这些更改之前不了解推送后再不重新克隆的后...

10得票3回答
如何通过非交互式地压缩所有提交(除了最近的提交)来减小Git仓库的体积?

我有一个Git仓库,里面有数百GB的数据,比如数据库备份,所以我想要删除旧的、过时的备份,因为它们会让一切变得更大和更慢。因此,我需要一个快速的解决方案;越快越好。如何压缩(或者直接删除)除最近提交记录之外的所有提交记录,并且不需要手动压缩每个提交记录在交互式 rebase中?具体来说,我不想...