2013-01-19 107 views
0

如何對git錯誤執行git bisect或以其他方式恢復我的git索引。錯誤信息,然後再以低於git Bug防止合併

隨着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不起作用(後續的合併還是失敗)。
  • 在任一方向合併(主 - > mybranch或mybranch - >天氣)導致相同的BUG。
  • 違規文件不會在工作目錄中,而是存在於主一相關空目錄(edb/migrations.broken/)在主的結算與rm -f刪除,git commit泰德(但顯然混帳記錄在索引中沒有變化)修復
  • git update-index --force-remove --unmerged --really-refresh --again --remove
+0

剛纔意識到我已經在發生這個錯誤的OSX盒子上釀造了安裝集線器(並且別名git指向了集線器)。在沒有'hub'的linux系統上,合併是沒有bug的。將撤銷OSX框上的'g​​it = hub'別名並重新測試。 – hobs

回答

0

hub(GitHub的客戶端)別名或刪除路徑migrations.broken的的.gitignore沒有喜悅可能是git的「錯誤」的根源。

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' 

許多命令(所有rm -rf命令)將導致大約沒有這樣做或不存在的文件警告。但不知何故,它消除了由混亂的git索引造成的BUG。