相关疑难解决方法(0)

Git-忽略子目录中的某些文件,但不是全部

我有一个类似于以下的结构:

/root/
/root/data/
/root/data/script.php
/root/data/some.json
/root/data/feature/one.json
/root/data/feature/two.json
/root/data/other-feature/one.json
/root/data/other-feature/important-script.php
Run Code Online (Sandbox Code Playgroud)

我想git忽略'/ data/...'路径下的任何 .json文件,但'/ data /'有时包含子目录.

我的理解是,一个简单data/*.json的gitignore只会匹配一个目录,因为*它不匹配/,如http://git-scm.com/docs/gitignore所述,"模式格式",项目符号#6:

否则,git将模式视为适合fnmatch(3)使用FNM_PATHNAME标志的shell glob:模式中的通配符与路径名中的/不匹配.例如,"Documentation/*.html"匹配"Documentation/git.html",但不匹配"Documentation/ppc/ppc.html"或"tools/perf/Documentation/perf.html".

有没有一种简单的方法可以做到这一点,还是我需要明确地在每个子目录中主动添加gitignore文件?

git gitignore

67
推荐指数
3
解决办法
5万
查看次数

gitignore不会忽略.suo Visual studio文件

我想做简单的事情,忽略.suo文件和bin和obj文件夹提交到git repo.我创建了.gitignore文件,它适用于bin和obj文件夹,但它一直允许.suo文件提交.gitignore的内容很简单:

/build/
*.suo
*.user
_ReSharper.*/
*.sdf
bin/
obj/
Debug/
Release/
*.opensdf
*.tlog
*.log
TestResult.xml
*.VisualState.xml
Version.cs
Version.h
Version.cpp
Run Code Online (Sandbox Code Playgroud)

首先我认为问题是.suo文件已经在repo上了,所以我使用了一组git命令将它从repo中删除:

git rm "file.suo"
git commit -m "suo removed"
git pull origin master
git push origin master
Run Code Online (Sandbox Code Playgroud)

一切顺利,.suo在本地删除,它从repo中删除,并在下一次提交时再次被推送到repo.

在图片上提交.suo文件.

在此输入图像描述

有没有人有这样的问题?如何解决这类问题?

git github

14
推荐指数
1
解决办法
7830
查看次数

Git忽略子文件夹但不忽略文件夹中的文件

我一直在环顾四周,却找不到与我相同的情景.我有:

--public
      |--img
           |--logo (folder)
           |--post_image (folder)
           |--banner.jpg
           |--icon.ico
           |--image1.jpg
           |-........etc
Run Code Online (Sandbox Code Playgroud)

我需要忽略logopost_image文件夹,但我想保留文件img夹内的每个文件.我该怎么办呢?

现在我有,**/public/img但我觉得这不是正确的方法!

git gitignore

14
推荐指数
2
解决办法
5414
查看次数

gitignore目录和子目录中的所有文件(特定文件类型)

忽略某个目录及其中所有子目录中某个文件类型的正确方法是什么?

示例:忽略所有子目录中的所有.xml文件.master/xyz/master/xyz/

我不确定以下哪两种方法是正确的......

master/xyz/*/*.xml

master/xyz/**/*.xml
Run Code Online (Sandbox Code Playgroud)

我应该使用哪一个?

(我使用Git 1.9.1)

git gitignore

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

Git会忽略除一个目录之外的所有目录中的jpg

我想修改自己的位置,.gitignore以便忽略所有.jpg不在中的文件/public/assets/images

我尝试了以下方法:

(!/public/assets/images/)!*.jpg

/public/assets/images/!*.jpg
Run Code Online (Sandbox Code Playgroud)

但是除了那两个我不确定还有什么尝试。

glob pattern-matching gitignore

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

标签 统计

git ×4

gitignore ×4

github ×1

glob ×1

pattern-matching ×1