同步代码库错误: .repo/manifests/包含未提交的更改

4
在执行repo sync命令后,我收到了一个错误信息:error: .repo/manifests/: contains uncommitted changes,但是git statusgit diff 并未显示任何更改。造成该问题的原因是什么?为什么会发生这种情况?

2
git reset --hard 然后 repo sync. - hjpotter92
git diff --cached 会显示什么? - hjpotter92
没有任何显示。而且 git status 告诉我我的分支与远程分支一致。 - xuehui
9
请前往.repo/manifests/目录,然后执行git reset --hard命令。请注意,翻译过程中不会添加任何解释或其他内容。 - hjpotter92
找到根本原因,.repo/manifests下的所有文件都更改了它们的文件模式,git config core.filemode false可以修复这个“修改”。 - xuehui
5个回答

7
找到根本原因,.repo/manifests下的所有文件都被更改了它们的文件模式,"git config core.filemode false"可以修复这个问题。

在遇到另一个问题后,我不得不更改我的主目录中的所有文件模式。当然,这影响了我的主目录中的一个存储库。我运行了该命令,以便Git忽略文件模式,并且它起作用了 :) - Mubin Icyer

3
  1. 切换到./repo/manifests目录
  2. $ git reset --hard 命令
  3. $ repo sync 命令

1
你可以使用命令repo diffrepo status来查找哪个子git存储库出现了问题。它可能不是你认为的子存储库。

1
转到./repo/mannifest文件夹。执行git status命令即可查看差异。很可能有变化的不是你所认为的子仓库。 - linjiejun

0
确保您的父目录中没有另一个.repo目录。

0

在项目根目录下执行以下命令,将更改提交到 .repo/manifests/

cd .repo/manifests/
git commit -a -m "Very Informative Title"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接