git-rewrite-history相关内容

更正了历史上很久以前发生的文件夹删除和添加重命名

我将一个文件夹projectname/stuff/*.py移到了projectname/projectname/stuff/*.py,其中projectname/.git/是存储库的基本文件夹。原来的文件夹重命名显然登记为文件夹的删除,随后添加的新创建的文件与原始删除的文件几乎(但不完全相同)。我当时没有注意到这个问题,现在已经过了几个月,提交了数百次。 我不能再与拆分前存在的其他分支的更改 ..
发布时间:2022-07-04 20:11:15 其他开发

如何修改旧的 Git 提交?

我已经提交了 3 次 git 提交,但没有被推送.如何修改旧的 (ddc6859af44) 和 (47175e84c) 不是最新的? $git 日志提交 f4074f289b8a49250b15a4f25ca4b46017454781日期:2012 年 1 月 10 日星期二 10:57:27 -0800提交 ddc6859af448b8fd2e86dd0437c47b6014380a7f日期: ..
发布时间:2022-01-04 14:59:51 其他开发

如何将 Git 存储库合并为线性历史记录?

我有两个 git 存储库 R1 和 R2,其中包含提交从产品发展的两个时期来看:1995-1997 和 1999-2013.(我通过将现有的 RCS 和 CVS 存储库转换为 Git 来创建它们.) R1:A B C DR2:K---L---M---N 如何将两个存储库合并为一个包含项目线性历史的准确视图? A---B---C---D---K---L---M---N 注意R1和R2之间的文 ..
发布时间:2021-12-27 22:23:07 其他开发

真正压平 git 合并

在 StackOverflow 上很少有关于“扁平化合并"的问题,答案通常是“git rebase".这些答案虽然忽略了一个关键点 - 提交顺序. 假设有一个分支 A 的提交时间为 6 月 1 日和 8 月 1 日,而分支 B 的提交时间为 7 月 1 日(更新以恢复下面描述的用例:分支是完全独立的,并且没有共同祖先,例如来自 2 个不同的存储库).将 B 合并到 A 时,将有以下历史记录( ..
发布时间:2021-12-27 22:09:13 其他开发

删除 Visual Studio Online 中的中间提交

我多次编辑了我的 README.md,因为我没有看到预览按钮.现在我的提交历史充满了无用的提交. 我可以删除其中的一些,或者至少隐藏它们吗? 解决方案 CAUTION 历史重写会使您的源代码控制系统处于非常混乱的状态.确保您有一个良好的源备份,以防出现任何问题. Git 根据您的团队项目设置,Readme.md 存储在 Git 存储库中,您绝对可以重写历史记录并将压 ..
发布时间:2021-12-26 17:22:40 其他开发

从 Git 历史记录中删除大文件

我已经阅读了多个关于使用 filter-branch 或 BFG 来完成这项任务的建议,但我觉得我需要进一步的建议,因为我的情况有点奇怪. 我必须管理两个存储库,一个基本上是另一个的克隆,理想情况下,我希望每天将更改从源提取到克隆中.但是,原始存储库在其历史记录中包含非常大的文件,超出了 Github 的大小限制.所以我必须删除这些文件,但同时,除了对这些特定文件的更改之外,我不想损害现有的 ..

合并 Git 存储库的前两次提交?

假设您有一个包含三个提交 A、B 和 C 的历史记录: A-B-C 我想将两个提交 A 和 B 合并为一个提交 AB: AB-C 我试过了 git rebase -i A 它打开了我的编辑器,内容如下: pick e97a17b B选择 asd314f C 我把它改成 南瓜 e97a17b B选择 asd314f C 然后 Git 1.6.0.4 说: 不能在没有先前提交的情 ..
发布时间:2021-12-06 09:32:19 其他开发

在 Git 中编辑根提交?

有多种方法可以更改以后提交的消息: git commit --amend # 用于最近的提交git rebase --interactive master~2 # 但需要 *parent* 如何更改第一次提交(没有父提交)的提交消息? 解决方案 假设您有一个干净的工作树,您可以执行以下操作. # 检出根提交git checkout # 修改提交git co ..
发布时间:2021-12-06 09:18:19 其他开发

如何将所有 git 提交压缩为一个?

如何将整个存储库压缩到第一次提交? 我可以重新调整到第一次提交,但这会给我留下 2 次提交.有没有办法在第一个之前引用提交? 解决方案 也许最简单的方法是创建一个具有当前工作副本状态的新存储库.如果您想保留所有提交消息,您可以先执行 git log >original.log 然后在新存储库中为您的初始提交消息编辑它: rm -rf .git混帐初始化git 添加.提交 或 g ..
发布时间:2021-12-06 09:14:05 其他开发

可能会破坏/重写历史记录的 Git 命令

您能否提供一份(所有或最常见的)操作或命令的列表,这些操作或命令可能会破坏 git 中的历史记录? 应该绝对避免什么? 在推送此提交后修改提交 (git commit/git push/git commit --amend) 转向已经推动的东西 我希望这个问题(如果在其他地方之前没有问过的话)成为关于 git 上常见可避免操作的某种参考. 此外,我经常使用 git res ..
发布时间:2021-12-06 08:49:44 其他开发

您如何修复错误的合并,并将您的良好提交重播到固定合并上?

我在几次提交前不小心将不需要的文件(filename.orig,同时解析合并)提交到我的存储库,直到现在我才注意到它.我想从存储库历史记录中完全删除该文件. 是否可以重写更改历史记录,以便 filename.orig 从未添加到存储库中? 解决方案 如果您的情况不是问题中描述的情况,请不要使用此方案.此秘籍用于修复错误的合并,并将您的良好提交重播到固定合并上. 虽然 filte ..
发布时间:2021-12-06 08:40:51 其他开发

如何修改现有的、未推送的提交消息?

我在提交信息中写错了. 如何更改消息?提交尚未推送. 解决方案 修改最近的提交信息 git commit --amend 将打开您的编辑器,允许您更改最近提交的提交消息.此外,您可以直接在命令行中设置提交消息: git commit --amend -m "New commit message"; ……然而,这会使多行提交消息或小的更正输入更麻烦. 确保在执行此操作之前 ..
发布时间:2021-12-06 08:39:34 其他开发

如何从 Git 存储库的提交历史记录中删除/删除大文件?

我不小心将 DVD-rip 放入网站项目中,然后不小心git commit -a -m ...,而且,zap,repo 膨胀了 2.2 gig.下次我进行了一些编辑,删除了视频文件,并提交了所有内容,但压缩文件仍在存储库中,在历史记录中. 我知道我可以从这些提交开始分支,并将一个分支变基到另一个分支.但是我应该怎么做才能合并 2 个提交,以便大文件不会显示在历史记录中并在垃圾收集过程中被清除 ..
发布时间:2021-09-17 19:31:23 其他开发

SVN 到 Git 迁移:只导入某些分支和历史记录

我的团队正准备迁移到 Git,我们希望从一个小型存储库开始.由于二进制文件和数百个版本分支,git-svn 创建的初始 Git 存储库大约为 10GB. 清理大文件很容易,棘手的部分似乎是分支的数量. 对于 git 迁移,我们希望从某个时间点 (X) 开始,只有某些(最新的)分支.我们没有“主干"——而是在较长时间内维护的不同版本分支: ---- 版本 1 ------------ ..
发布时间:2021-09-01 19:41:55 其他开发

从Git历史记录中删除大文件

我已经阅读了多个有关使用过滤器分支或BFG来完成此任务的建议,但是我觉得我还需要进一步的建议,因为我的情况有点特殊. 我必须管理两个存储库,一个基本上是另一个存储库的副本,理想情况下,我想每天将更改从源存储到克隆中.但是,原始存储库在其历史记录中包含非常大的文件,超过了Github的大小限制.因此,我必须删除这些文件,但是同时,除了更改那些特定文件之外,我不想破坏现有的提交历史记录.据我了解 ..

Bitbucket使用BFG减少回购规模

由于一些静态资产(视频,图像),我的团队在Bitbucket上的回购邮件为1.34GB 我已经按照 BFG回购清洁器 中的说明进行操作 我的存储库现在为2.37GB,超出了我们的2GB配额,并且现在是只读的. 我运行的命令几乎与BFG主页上的命令相同, git clone --mirror git://example.com/some-big-repo.git java - ..
发布时间:2021-04-15 19:52:53 其他开发

如何将其他父母添加到旧的git commits中?

我有一个包含两个分支的项目:master和gh-pages.它们本质上是两个不同的项目,其中gh-pages项目取决于主项目(反之亦然).可以将其视为"master包含源代码,gh-pages包含从这些源文件构建的二进制文件".定期,我对master中累积的更改进行处理,并使用提交消息“与主提交xxxxxxxx保持一致"对gh-pages分支进行新提交. 一段时间后,我意识到,如果gh页提交 ..
发布时间:2020-11-15 02:51:02 其他开发