当我尝试将git中的任何分支合并到master时,我得到了error: addinfo_cache failed for path 'file'。
我所做的:
>git checkout master
>git merge other-branch
Run Code Online (Sandbox Code Playgroud)
Git给了我:
error: addinfo_cache failed for path 'file'
file: unmerged (581c47f7d0e1a0bc825d528d9783ac18ee0cce27)
file: unmerged (26a0c24dccd2bc2f74e20488ca01bba2fcd9cf56)
file: unmerged (3be471ca5c689693339827a455f187814677642f)
fatal: git write-tree failed to write a tree
Run Code Online (Sandbox Code Playgroud)
>git status 产量:
On branch master
Your branch is up-to-date with 'origin/master'.
Unmerged paths:
(use "git reset HEAD <file>..." to unstage)
(use "git add <file>..." to mark resolution)
both modified: file
no changes added to commit (use "git add" and/or "git commit -a")
Run Code Online (Sandbox Code Playgroud)
我不知道该怎么办,也找不到任何关于这个问题的东西。
Rob*_*een 28
当您更改了core.autocrlf配置选项但尚未删除并重新检出您的工作树时,可能会发生此错误。
因此,要么改core.autocrlf回原来的状态,要么将更改推高,删除您的存储库并再次克隆它。
Mic*_*ebs 10
对我来说,解决方案非常简单。后:
$ git pull
error: add_cacheinfo failed to refresh for path 'file'; merge aborting.
Run Code Online (Sandbox Code Playgroud)
我执行了以下简单操作:
$ rm file # delete the failed file, or rename it if you want to keep it
$ git checkout file # git recreates the file
$ git pull
From [server].com:[org]/[repo]
* branch [branch] -> FETCH_HEAD
Merge made by the 'recursive' strategy.
# success!
Run Code Online (Sandbox Code Playgroud)
我尝试编辑上述答案,但似乎没有进展......在查看您的评论/sf/users/486552531/ 后,删除 repo 是绝对的最后手段。当古怪的事情似乎发生如上。我发现最好的办法是重置为过去的提交,该提交具有相当数量的增量,然后重新检出您需要的分支。
git reset HEAD~10 --hard 或者 git checkout some-other-branch
其次是
git checkout name-of-your-branch
这样做后,您的工作分支通常会再次工作。
小智 2
git mergetool,然后将“其他分支”合并到 master 中?git reset --hard origin/master,然后执行git merge other-branch