Не могу Git Blame файлы
Я использую Xcode и этот репо на двух отдельных ноутбуках. На одном ноутбуке в XCode я могу выбрать панель редактора версий, и она показывает мне информацию об обвинениях в каждой строке, например, кто сделал коммит и когда. Однако на другом ноутбуке я всегда получаю ошибку could not blame {file}. Error: fatal: no such ref: HEAD
,
Я не уверен, что это значит или как это исправить. Как я часто тяну, репо должны быть очень похожими (за исключением различий в gitignore или что-то в этом роде). Поэтому я не уверен, есть ли незначительные различия в папке.git на одном ноутбуке. Я знаю, что HEAD - это ссылка на определенный коммит, но кроме этого я не уверен, как это исправить.
2 ответа
Там, вероятно, второй .git
папка где-то в ваших подпапках репо (по крайней мере, это было причиной для меня). Xcode не поддерживает это.
Чтобы это исправить, перейдите в корневой каталог репо:
cd ~/Development/repo
Поиск подпапок для беспризорных репо:
find . -name ".git"
Если есть что-то кроме ./.git
в выводе удалите его:
rm -rf subfolder/some_folder/.git
Если в этот момент у вас был запущен Xcode, перезапустите его, и он должен работать как положено.
"Не могу обвинить": Пожалуйста, выключите редактор "Вины". Похоже, вы добавили новый файл, который еще не зафиксирован. Так что у редактора Blame нет данных для показа, и он выдает ошибку "Could not обвинить"
Steps to fix not working blame for line in Xcode: -
1. Go to the project directory first.
2. Fist remove all the git process
use this command to find all git process `find . -name ".git"`
3. If there's anything other than ./.git in the output, remove it:
use this command to remove `rm -rf subfolder/some_folder/.git`
4. After that, you can delete your project folder and clone the same repo from
stash
use git clone "ssh key for your repo"
5. After cloning the project, an open project you will able to see blame for a
line.
In my case this steps resolved the problem, I am not sure that will work for all but at least try it once.