忽略从本地git repo中删除的文件,该文件应保留在其他repos中

时间:2016-01-28 06:35:40

标签: git arduino

我git克隆了一个arduino sketch,要求我删除library目录并通过mv ./libraries $sketchdir/sketch_libraries/将其放在repo之外的其他位置。我无法使用目录编译草图,所以我将其删除;但是,当我运行git status时,它会抱怨库目录中缺少的内容。

我想告诉git忽略这个目录缺失的事实并且不再纠缠我。我尝试将libraries/*添加到.gitignore,但是未能给出我想要的结果。

我怎样才能做到这一点?

2 个答案:

答案 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/*