我在两台单独的笔记本电脑上使用Xcode和这个存储库。 在一台笔记本电脑上,在 Xcode 中,我可以选择版本编辑器窗格,它会向我显示每行的责备信息,例如谁进行了提交以及何时提交。 但是,在另一台笔记本电脑上,我总是收到错误 could not blame {file}. Error: fatal: no such ref: HEAD
.
我不确定这意味着什么或如何解决它。 正如我经常拉动的那样,存储库应该非常相似(除非 gitignore 差异或其他东西(。所以我不确定一台笔记本电脑上的 .git 文件夹中是否有细微的不同。 我知道 HEAD 是对某个提交的引用,但除此之外,我不确定如何解决这个问题。
"不能责备":请关闭"责备"编辑器。看起来您添加了一个尚未提交的新文件。所以责备编辑器没有数据要显示,它会抛出错误为"不能责怪">
在您的 repo 子文件夹中的某个地方可能有第二个 .git
文件夹(至少这是我的原因(。Xcode 不支持此功能。
要解决此问题,请转到存储库根目录:
cd ~/Development/repo
在子文件夹中搜索杂散存储库:
find . -name ".git"
如果输出中除./.git
之外有任何内容,请将其删除:
rm -rf subfolder/some_folder/.git
如果此时正在运行 Xcode,请重新启动它,它应该按预期工作。
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.