0

如何git bisect处理 git bug 或恢复我的 git 索引。首先出现错误消息,然后尝试以下修复失败

使用 GIT_MERGE_VERBOSITY=5 我运行git merge origin master并得到......

Merging:
9201eee porque no, "not and"
virtual origin
found 2 common ancestors:
21d206e (redo) merged in feature/edb and fixed the unit test. Also fixed a bug in bq where the imposition of the MIN_BUILDINGS constraint results in zero results, but an erroneous 'found_entities' field.
ac55def Merge pull request #276 from company/feature/chromeframe_support
  Merging:
  21d206e (redo) merged in feature/edb and fixed the unit test. Also fixed a bug in bq where the imposition of the MIN_BUILDINGS constraint results in zero results, but an erroneous 'found_entities' field.
  ac55def Merge pull request #276 from company/feature/chromeframe_support
  found 1 common ancestor:
  2f55197 Merge pull request #271 from company/feature/autobahn-host-as-setting
  Auto-merging requirements.unstable.txt
  Auto-merging requirements.txt
  Auto-merging project/tests/test_querier.py
  CONFLICT (content): Merge conflict in project/tests/test_querier.py
  Skipped project/static/project/images/bg-paper.png (merged same as existing)
  Skipped project/static/project/apps/scatter-plot/js/xcharts.custom.js (merged same as existing)
  Skipped edb/models.py (merged same as existing)
  CONFLICT (rename/rename): Rename "edb/migrations.broken/0006_auto__del_field_site_entity_id.py"->"edb/migrations/0012_lengthen_owner_type_and_rating_charfield.py" in branch "Temporary merge branch 1" rename "edb/migrations.broken/0006_auto__del_field_site_entity_id.py"->"edb/migrations/0005_change_site_id_to_site_entity_id.py" in "Temporary merge branch 2" (left unresolved)
  Skipped edb/migrations/0007_rvalue_changed_to_r_value.py (merged same as existing)
  Skipped edb/migrations/0004_regenerate_garbled_field_names_due_to_slashes_in_csv_header_strings.py (merged same as existing)
  Auto-merging BE/templates/base.html
BUG: There are unmerged index entries:
BUG: 1 edb/migrations.broken/0005_auto__add_field_site_id__chg_field_site_entity_id.py
fatal: Bug in merge-recursive.c
  • git reset --hard不起作用(后续合并仍然失败)。
  • 在任一方向(master -> mybranch 或 mybranch -> weather)合并都会导致相同的 BUG。
  • 有问题的文件在工作目录中不存在,但 master ( edb/migrations.broken/) 中的相关空目录在 master 结帐时被删除rm -f,并且git committed (但显然 git 记录索引中没有任何更改)修复
  • 不高兴git update-index --force-remove --unmerged --really-refresh --again --remove
4

1 回答 1

0

hub (github client) alias or a .gitignore of the deleted path migrations.broken was probably the source of the git "bug".

alias git=git   # or `brew remove hub`
git rm -rf edb/migrations.broken
git commit -am 'delete non-existent path to update git index'
git push origin feature/edb
git pull origin master
git checkout master
git pull origin master
git rm -rf edb/migrations.broken
git commit -am 'delete non-existent path to update git index'
git push origin master
git checkout feature/edb
git merge master
git commit -am 'delete non-existent path to update git index'

Many of these commands (all of the rm -rf commands) will result in warnings about nothing done or nonexistent files. But somehow it worked to eliminate the BUG caused by a confused git index.

于 2013-01-24T22:51:22.983 回答