操作' git pull'不受.gitignore_global文件

时间:2017-03-22 00:46:46

标签: git gitignore ignore

我有两个本地git存储库,对应于名为quest的远程存储库。一个本地存储库位于Windows机器上,我通过Cygwin运行git命令。另一个是在Linux系统上。

下面列出的具体例子涉及后一种情况。

我的主目录(.gitconfig)中有一个/hhome/jj文件,其中包含一个条目

[core]
  excludesfile = /hhome/jj/.gitignore_global

指向全局.gitignore文件,也在我的主目录中。

我正在尝试设置git来忽略此git存储库的matlab_stuff子目录中的所有内容,现在和永远。该子目录的完整路径为/hhome/jj/gitroot/quest/matlab_stuff。我以为我可以通过放下以下一行中的一行来实现这一目标

matlab_stuff/
/hhome/jj/gitroot/quest/matlab_stuff/
<{1>}中的

,但它无效

我知道这还不足以使git忽略它已经跟踪的文件。为了消除那些我使用的东西,比如

~/.gitignore_global

git update-index --skip-worktree <file-name> 子目录中的每个文件上。然后我删除了整个matlab_stuff子目录。

一切似乎都很好。我可以对其他文件进行更改,提交它们并推送它们,而不会为其他用户搞乱全局存储库。

但是,只要我做了一个&#39; git pull&#39;在其他人将新文件推送到/hhome/jj/gitroot/quest/matlab_stuff后,该子目录将被重新创建并放入新文件,这正是我希望避免的。

正在运行matlab_stuff会显示正确的git config --global -l条目,因此它并不像git不知道全局core.excludesfile文件一样。

正如我所说,这在两个类似配置的本地git存储库中没有按预期工作。

为什么这不起作用和/或我该如何解决?

0 个答案:

没有答案