使用大文件还原提交并解决二进制合并冲突



我想push我对GitHub的提交,但它不允许我,因为文件Extras.pkl太大了。我(意外地(添加了文件7提交回dfa4bfe,但目前在我的存储库中找不到(它似乎已被删除(。git revert dfa4bfe提示

warning: Cannot merge binary files: MuonRate/nHits_distribution.png (HEAD vs. parent of dfa4bfe... Add HRV split graph and z direction dist) 
error: could not revert dfa4bfe... Add HRV split graph and z direction dist

这是因为同一提交中有两个映像(其中一个正在创建冲突(。

我使用git checkout --ours/theirs "MuonRate/nHits_distribution.png"手动分配版本,并使用git addgit commit提交这些版本。但后来我得到了以下内容:

Your branch is ahead of 'origin/main' by 9 commits.
(use "git push" to publish your local commits)
You are currently reverting commit dfa4bfe.
Untracked files:
#some unimportant files
nothing added to commit but untracked files present

记下最后3行也是最后一行。当我使用git commit -m "empty commit to escape revert" --allow-empty时,那么You are currently reverting commit dfa4bfe.行就消失了。但如果我git push origin main,我会得到完全相同的错误,说文件Extras.pkl太大。

问题:如何从Extras.pkl撤消提交并解决二进制问题?

Git日志:

* da43e5a (HEAD -> main) empty commit to escape revert
* e8d3f7a add .gitignore
* 633b6f2 Delete extrapkl
* 9f2366b .
* e2c9712 Add mplstyle
* b3702dc Rerun and delete filters for V9
* dfa4bfe Add HRV split graph and z direction dist
* 76bee13 Plot nHist complete
* 7f227ea First histogram of nHits
* b82b78b Create Multi directory data loop
etc.

注意:,我在还原过程中的任何提交都不会出现在历史记录中。问题在于提交dfa4bfe Add HRV split graph and z direction dist

根据github页面中关于敏感信息的内容,我已经解决了这个问题。供未来参考和其他:

如果问题在您的本地回购中,请跳过以下2个步骤:

  1. git clone https://github.com/YOUR-USERNAME/YOUR-REPOSITORY
  2. cd YOUR-REPOSITORY

PATH-TO-YOUR-FILE-WITH-SENSITIVE-DATA更改为您的文件位置,但保留引号。

  1. git filter-branch --force --index-filter "git rm --cached --ignore-unmatch PATH-TO-YOUR-FILE-WITH-SENSITIVE-DATA" --prune-empty --tag-name-filter cat -- --all
  2. 按enter键两次
  3. git push ORIGIN MAIN

最新更新