相关疑难解决方法(0)

Make .gitignore会忽略除少数文件之外的所有内容

我知道.gitignore文件隐藏了Git版本控制中指定的文件.我有一个项目(LaTeX),它在运行时会生成许多额外的文件(.auth,.dvi,.pdf,日志等),但我不希望这些文件被跟踪.

我知道我可以(也许应该)这样做所有这些文件放在项目中的一个单独的子文件夹中,因为我可以忽略该文件夹.

但是,有没有可行的方法将输出文件保存在项目树的根目录中,并使用.gitignore忽略除了我用Git跟踪的文件之外的所有内容?就像是

# Ignore everything
*

# But not these files...
script.pl
template.latex
# etc...
Run Code Online (Sandbox Code Playgroud)

git gitignore

1531
推荐指数
22
解决办法
42万
查看次数

.gitignore文件的对面?

可能重复:
Make .gitignore会忽略除少数文件之外的所有内容

除非在特殊文件中指定,否则可以让git默认忽略所有文件?

git

92
推荐指数
2
解决办法
2万
查看次数

.gitignore忽略所有文件,然后递归地允许*.foo

已经有几个类似的问题,但没有一个答案对我有用.

我想忽略我的存储库下面的文件夹中的所有内容,除了带有*.foo的文件

(如果有人想知道如何证明这一点 - 我实际上正在为我的所有"逻辑"项目 - mac上的音乐软件 - 创建一个git存储库 - 但我只想存储实际的项目文件*.logic)

我要拼出来,所以我们都在同一个盘子里.这是我从头开始做的事情:

建立:

mkdir temp
cd temp
mkdir testdir
cd testdir
touch include.foo
touch dontinclude.bad
cd..
git init
touch .gitignore
Run Code Online (Sandbox Code Playgroud)

将其粘贴到.gitignore中

# Ignore all
/*

# But not these files...
!.gitignore
!*.foo
Run Code Online (Sandbox Code Playgroud)

git状态

唯一没有跟踪的文件是.gitignore

如果我输入'git add'. - 没有变化,只看到.gitignore,我的2个文件被忽略.

为什么这不起作用,你怎么能改变上面的程序使它工作?

这是我从中获取.gitignore文件的极其相似的问题.我正在使用git --version 1.7.7(也试过1.7.3) - .gitignore忽略所有文件,然后递归地允许某种类型的文件

git

55
推荐指数
1
解决办法
2万
查看次数

配置git只跟踪一个文件扩展名

我有一个目录树,有许多不同的文件.父目录上有300个目录.每个目录可以有其他子目录.

我只想在所有子目录上跟踪*.cocci.这是我的.gitignore:

*
!*.cocci
Run Code Online (Sandbox Code Playgroud)

但它不起作用,因为不跟踪子目录上的文件.我怎么能告诉git我只想在所有子目录上跟踪*.cocci?

git file-extension gitignore subdirectory

22
推荐指数
2
解决办法
5361
查看次数

Git:反向忽略(.gitignore)

我为我的主文件夹创建了一个存储库.这是我的.gitignore档案:

!.vim/plugin/*
!.vim/doc/*
.*
*
.viminfo
.vim/.netrwhist
.vim-fuf-data/file/stats
bin/dwm/dwm
Run Code Online (Sandbox Code Playgroud)

所以当我在里面创建一个新文件时,.vim/plugin我预计在显示git status这个文件之后,但是没有..为什么?

编辑:在一对答案后,我改变了反向忽略线的位置,但是问题是相同的:我在.vim/plugin文件夹中创建的新文件后面没有显示git status..

.*
*
.viminfo
.vim/.netrwhist
.vim-fuf-data/file/stats
bin/dwm/dwm
!.vim/plugin/*
!.vim/doc/*
Run Code Online (Sandbox Code Playgroud)

git

16
推荐指数
1
解决办法
8138
查看次数

.gitignore排除不适用于单个文件

$ git --version
git version 2.6.4
Run Code Online (Sandbox Code Playgroud)

我意识到这是一个重复,但另一个问题的答案没有帮助.

文件夹结构

/
-- dist/
---- samples/ 
---- README.md
---- foo/
---- bar/
---- baz.js 
Run Code Online (Sandbox Code Playgroud)

除了samples和README.md之外,我想忽略dist中的所有内容.我的前几次尝试都没有用,所以我决定放弃自述文件:

dist
!dist/samples/README.md 
Run Code Online (Sandbox Code Playgroud)

README是一个全新的文件.dist文件夹根本不在源代码管理中.但是当我检查忽略时,它仍然被忽略:

$ git check-ignore dist/samples/README.md 
dist/samples/README.md
$ git check-ignore src
   # empty line    
Run Code Online (Sandbox Code Playgroud)

我试过了:

  1. 改变忽略的顺序
  2. 从行的开头删除斜杠
  3. 在中间添加**: dist/**/README.md
  4. 在第一行/*的末尾添加一个dist

唯一被忽略的是*.js,*.js.map,temp和node_modules.有趣的是,Webstorm认为文件没有被忽略(它会改变颜色),但命令行工具确实认为它被忽略了.

我不明白我做错了什么.模式似乎很简单:

  1. 忽略此目录中的所有内容
  2. 不要忽视这一件事

但它显然不起作用.

git macos bash

8
推荐指数
1
解决办法
3803
查看次数

忽略根目录中除某些特定文件、目录之外的所有文件

我想这可以解决问题:

*
!/dir1/
!/dir2/
!/file1
!/file2
Run Code Online (Sandbox Code Playgroud)

但令我惊讶的是,事实并非如此。如果我在星号前加一个斜杠,它似乎可以工作。但我真的不明白为什么在这个改变之前它不起作用。有人能指点一下吗?

git gitignore

2
推荐指数
1
解决办法
358
查看次数

标签 统计

git ×7

gitignore ×3

bash ×1

file-extension ×1

macos ×1

subdirectory ×1