如何在git历史记录中修复库中的大量添加/删除?

时间:2017-04-12 17:47:19

标签: git github

当我开始这个项目时,我没有在我的gitignore中包含bower文件夹,后来我将文件夹添加到我的gitignore。这导致了添加量的增加和删除的飙升:

enter image description here

如何及时返回并修复此问题以删除这些资产的添加和删除,以避免此图表和其他类似图表/统计信息出现高峰?

1 个答案:

答案 0 :(得分:0)

如果您可以重写您的回购的所有历史记录,因为您添加了资产,可以使用aperture_list = [] shutter_list = [] speed_list = [] for z in lines: if z.find("Aperture") >= 0: aperture_list.append(z.split()[-1]) elif z.find("Shutter Speed") >=0: t2=z.split()[-1] t3=t2.split("/") Shu=t3[0] shutter_list.append(float(Shu)) Spe=t3[1] speed_list.append(float(Spe)) tuples = zip(aperture_list, shutter_list, speed_list) 执行此操作。

首先,确定添加了不需要的资产的提交。根据您的描述,它似乎是您回购中的第一个提交。

然后,运行git rebase(如果资产的添加时间晚于第一次提交,则不需要git rebase -i --root)。找到在列表中添加资产的提交,并将该行的前面的命令从--root更改为pick

执行rebase。当它暂停以允许您编辑提交时,修改提交以删除资产,并允许rebase继续。这将是:

edit

当rebase计划尝试应用删除所有资产的提交时,您可能会在rebase期间遇到合并冲突。如果是这样,只需使用git rm assets/bower git commit --amend git rebase --continue 或适合您的存储库的任何内容再次删除资产来解决冲突。

最后,一旦您对结果感到满意,您就需要强制推送到GitHub,因为您要更改每次提交,因为您添加了资产