Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git没有';t跟踪文件夹_Git_Github_Gitignore - Fatal编程技术网

Git没有';t跟踪文件夹

Git没有';t跟踪文件夹,git,github,gitignore,Git,Github,Gitignore,我试图用git跟踪我的点文件和配置文件夹。 我将我的.gitignore设置为忽略所有(*),但要跟踪的文件和文件夹除外: ### Gitignore # ignore all ** !**/ # but... # files !.vimrc !.Xdefault !.bashrc !.profile !.xsession !.gitignore # folders !.vim/** !.config/i3/** !.config/ranger/** 但是,这仅适用于文件,不适用于文件夹。 如

我试图用git跟踪我的点文件和配置文件夹。 我将我的
.gitignore
设置为忽略所有(*),但要跟踪的文件和文件夹除外:

### Gitignore
# ignore all
**
!**/
# but...
# files
!.vimrc
!.Xdefault
!.bashrc
!.profile
!.xsession
!.gitignore
# folders
!.vim/**
!.config/i3/**
!.config/ranger/**
但是,这仅适用于文件,不适用于文件夹。
如果我尝试手动添加文件夹(例如,
git add.config/i3
),我会发现,
您的.gitignore文件会忽略以下路径:.config/i3使用-f如果您确实要添加它们

如果您忽略所有:
***
,则需要在排除文件之前将文件夹列为白名单(因为如果忽略文件夹,则不会检查其内容以排除)

因此:

然后,您可以添加文件排除:

# but 
# files (eg)
!.Xdefaults
!.vimrc
# etc
# folders (eg)
!./.vim/**
!./.config/ranger/**
!./.config/i3/**

使用
git Check ignore-v--a/file
检查这些规则是否适用。

我添加了
**
!**/
。现在
git status
显示未跟踪的文件,以及其他通用下载/,但不显示我想要跟踪的文件夹…我不知道为什么会这样做。@upgrd如果你认为下载/afile正在升级或者,使用
git check ignore-v--Downloads/afile
(assuling Downloads/不是空文件夹,因为git无论如何都会忽略空文件夹)下载/文件夹不会被忽略,这是奇怪的(鉴于上述.gitignore)。您提出的
git check ignore-v
命令有趣地显示,
.vim/**
被忽略,因为它与
**
模式匹配。不知何故,否定砰的一声(
!/.vim/**
)显然没有效果。@upgrd我刚刚测试过它:
git check ignore-v--.vim/a
返回:
.gitignore:3:!.vim/**.vim/a
:它正常工作了。@upgrd你能用你的
.gitignore
的确切内容编辑你的问题吗?旁注:git从不跟踪文件夹/目录,它只有跟踪和未跟踪的文件目录是Git在需要时创建的烦人的东西,以便将文件粘贴到其中,即,如果文件
a/b/c/d
被跟踪,Git将
mkdir a;mkdir a/b;mkdir a/b/c
如果需要写入
a/b/c/d
。出于性能原因,Git可以忽略它的意思是“不费心阅读”-整个目录。你的
.gitignore
在我看来是正确的!@torek是的,它看起来不错:它是我的。我在下面的评论中提到了没有跟踪的文件夹。
# but 
# files (eg)
!.Xdefaults
!.vimrc
# etc
# folders (eg)
!./.vim/**
!./.config/ranger/**
!./.config/i3/**