我git克隆了一个arduino sketch,要求我删除library目录并通过mv ./libraries $sketchdir/sketch_libraries/
将其放在repo之外的其他位置。我无法使用目录编译草图,所以我将其删除;但是,当我运行git status
时,它会抱怨库目录中缺少的内容。
我想告诉git忽略这个目录缺失的事实并且不再纠缠我。我尝试将libraries/*
添加到.gitignore,但是未能给出我想要的结果。
我怎样才能做到这一点?
答案 0 :(得分:2)
如果您只想在特定主机上忽略该目录,请尝试将目录路径添加到.git/info/exclude
而不是.gitignore
:
您的排除文件应如下所示:
# git ls-files --others --exclude-from=.git/info/exclude
# Lines that start with '#' are comments.
# For a project mostly in C, the following would be a good set of
# exclude patterns (uncomment them if you want to use them):
# *.[oa]
# *~
libraries/*
git status
甚至不会抱怨排除文件已更改。
答案 1 :(得分:0)
我只知道这里的问题是什么。通过将目录添加到.gitignore或info / exclude,git将不会跟踪该目录(如果它是本地的)。但在这种情况下,您希望在本地删除它并将其保留在远程仓库上,并希望git不要跟踪该远程目录。
为此,您只需运行此命令:
git update-index --skip-worktree libraries/*