我有一个文件project/data/data.csv
,其中project/
是父项目,data/
是一个子模块。在project/data/
里面我运行git checkout origin/master data.csv
git回复:
error: pathspec 'data.csv' did not match any file(s) known to git.
然而,当我在gitlab上掌握时,文件非常多。
我尝试过git reset,git fetch和git pull,但都没有解决这个问题。
在git疯狂之前发生的事情是我得到了一个损坏的树对象。要解决这个问题,我必须删除所有这些对象,然后进行git fetch和git pull。
这导致数据子模块报告了一个脏对象,我通过删除.git文件并进行git pull来修复。
之后我似乎能够毫无问题地拉动和推动,所以我不确定它是否相关。
有关如何让git再次跟踪文件的任何建议?
如果你已经腐败并最终删除.git你已经尝试过硬重置(假设你已经尝试过git reset origin/master
并且不担心丢失任何文件。如果是这种情况请尝试git clone <repo>
,这应该用正确的文件重新初始化你的repo
要跟踪该文件,请尝试以下操作:
git add data.csv
也许试一试
git submodule update --rebase --remote