标签: gitignore

仅在特定目录中忽略部分文件名

我想忽略:

settings/local_*.py
apps/settings/local_*.py
path_to/settings/local_*.py
Run Code Online (Sandbox Code Playgroud)

但我不想忽视:

local_*.py
something/else/local_*.py
Run Code Online (Sandbox Code Playgroud)

我也不想忽视:

settings/non_local_*.py
...
Run Code Online (Sandbox Code Playgroud)

这超出了 gitignore 的范围吗?

当然,我正在寻找一种通用的解决方案,无论settings目录位于何处(在存储库内),该解决方案都可以工作。

git glob gitignore

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

即使我试图忽略它们,.gitignore 仍然跟踪文件,为什么?

我的项目中有以下目录结构:

\n\n
.\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 application\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 ... <more folders & files goes here>\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 config\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 cronjobs\n\xe2\x94\x82\xe2\x94\x80\xe2\x94\x80 ... <more folders & files goes here>\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 oneview_symfony\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 app\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 bin\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 src\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 tests\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 var\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 vendor\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 web\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 .gitignore\n
Run Code Online (Sandbox Code Playgroud)\n\n

我试图忽略一些文件和文件夹,这是我的.gitignore文件中的规则:

\n\n
oneview_symfony/app/cache/*\noneview_symfony/app/logs/*\n!oneview_symfony/app/cache/.gitkeep\n!oneview_symfony/app/logs/.gitkeep\n\noneview_symfony/app/spool/*\n\noneview_symfony/var/cache/*\noneview_symfony/var/logs/*\noneview_symfony/var/sessions/*\n!oneview_symfony/var/cache/.gitkeep\n!oneview_symfony/var/logs/.gitkeep\n!oneview_symfony/var/sessions/.gitkeep\n\noneview_symfony/app/config/parameters.yml\noneview_symfony/app/config/parameters.ini\n\noneview_symfony/app/bootstrap.php.cache\noneview_symfony/var/bootstrap.php.cache\noneview_symfony/bin/*\n!oneview_symfony/bin/console\n!oneview_symfony/bin/symfony_requirements\noneview_symfony/vendor/*\n\noneview_symfony/web/bundles/\noneview_symfony/web/uploads/   \noneview_symfony/app/phpunit.xml\noneview_symfony/phpunit.xml\noneview_symfony/build/\n\noneview_symfony/web/css/\noneview_symfony/web/js/\n
Run Code Online (Sandbox Code Playgroud)\n\n

有了上面的信息,如果我运行,git status我仍然可以看到下面的文件oneview_symfony/vendor/,为什么?我缺少什么?

\n\n

上述命令的输出示例:

\n\n
    ...\n    new file:   oneview_symfony/vendor/zendframework/zendframework1/resources/languages/pt_BR/Zend_Validate.php\n    new file:   oneview_symfony/vendor/zendframework/zendframework1/resources/languages/ru/Zend_Validate.php\n    new file:   oneview_symfony/vendor/zendframework/zendframework1/resources/languages/sk/Zend_Captcha.php\n    new file:   oneview_symfony/vendor/zendframework/zendframework1/resources/languages/sk/Zend_Validate.php\n    new file:   oneview_symfony/vendor/zendframework/zendframework1/resources/languages/sr/Zend_Validate.php\n    new file:   oneview_symfony/vendor/zendframework/zendframework1/resources/languages/uk/Zend_Validate.php\n    modified:   oneview_symfony/web/.htaccess\n\nChanges not staged for commit:\n  (use …
Run Code Online (Sandbox Code Playgroud)

git github gitignore

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

如何突出显示 README.md 的 .gitignore 代码?

我编写了包含部分代码的 README.md,我想用正确的颜色突出显示这些部分。

其中一个代码是.gitignore 代码,我想将其集成到我的README.md中。但我无法为此提供良好的语言学家突出显示,例如,我的评论会以绿色显示。

我搜索了 GFM 检测到的一些语言,但对结果不满意。

有人可以帮我找到好的语言学家吗?

PS:我还想在 REAMDE 代码突出显示中询问 DockerFile、docker-compose。

谢谢,木须龙

markdown syntax-highlighting gitignore readme github-linguist

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

隐藏 Github 中的 API 密钥/文件,但不隐藏 Heroku

我制作了一个使用 API 密钥的小型 Web 应用程序。

如果我为它创建一个单独的文件并将其添加到.gitignore,将其推送到 GitHub,然后执行git push heroku master,我认为 API 密钥不会包含在该站点中。

如何在 Heroku 上而非 GitHub 上包含带有 API 密钥的文件?

我正在使用 Node JS 和 Express。

api github heroku gitignore

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

.gitignore 不适用于 Visual Studio 2019

我无法.gitignore使用Visual Studio 2019 Community。

在此输入图像描述

上图是“团队资源管理器”选项卡的图像,显​​示了要提交的文件列表的一部分。这些文件所在的目录 x64\Debug 位于 C:\Users\ username \Source\repos\Tetris_System\Tetris_Game 下。C:\Users\ username \Source\repos\Tetris_System 包含.git.vs文件夹和.gitignore文件。

我有一个非常简单的.gitignore文件,其中只有一行:

*.obj
Run Code Online (Sandbox Code Playgroud)

我的理解是,这一行应该*.obj从提交列表中删除所有文件。这些文件不应该*.obj从列表中消失吗?

从之前的提交来看,所有这些都*.obj位于 GitHub 存储库中。

git github gitignore visual-studio

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

是否可以在拉取过程中从远程使用“.gitignore”?

我遇到过这样的情况:一些之前签入 Git 的文件现在需要被忽略。为了忽略它们,我将文件添加到“.gitignore”并执行了以下操作:

git rm -r --cached .
git add --all
git commit -m "Removed files from git tracking that should be ignored"
git push
Run Code Online (Sandbox Code Playgroud)

现在我遇到一种情况,我需要将这些“.gitignore”更改拉到另一台服务器,但是当我执行此操作时,git pull刚刚添加到“.gitignore”的文件不会被忽略,而是会被完全删除!

我认为发生的事情是在拉取过程中它使用本地“.gitignore”文件,该文件不会忽略这些文件......并且它检测到这些文件不再在 git 中,因此它只是删除它们。如果我手动添加回文件并执行另一个 git pull 然后它开始正常工作(现在正确的“.gitignore”文件位于服务器上。)

有没有办法告诉git pull使用来自远程服务器的“.gitignore”文件而不是本地文件,这样这些文件就可以被正确忽略并且不会在 git pull 上被删除?

git gitignore git-pull

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

如何使用 .gitignore 忽略目录中除一个文件之外的所有内容?

我在这里找到了几个据称可以解决此问题的解决方案,但由于某种未知的原因,它们都不适合我。

我需要忽略给定文件夹中除一个特定文件之外的所有内容。容易,对吧?没那么快。

对于这些问题,我已经尝试了几乎所有建议的答案:

...但我并没有比开始时更进一步。

这是要包含的文件的路径:

D:\Projects\Website\Website\bin\Settings.json
Run Code Online (Sandbox Code Playgroud)

回购协议位于:

D:\Projects\Website
Run Code Online (Sandbox Code Playgroud)

我的.gitignore文件是由 Visual Studio 生成的,因此它包含以下条目:

[Bb]in/
Run Code Online (Sandbox Code Playgroud)

根据上面问题的许多答案,我应该能够做这样的事情:

!/Website/[Bb]in/Settings.json
Run Code Online (Sandbox Code Playgroud)

...但这行不通。该文件仍然被忽略。

这些排列都不起作用:

!*/Settings.json
!**/Settings.json
![Bb]in/Settings.json
![Bb]in/**/Settings.json
![Ww]ebsite/[Bb]in/Settings.json
!Website/bin/Settings.json
!/Website/bin/Settings.json
Run Code Online (Sandbox Code Playgroud)

我还尝试将一个单独的.gitignore文件放入bin

# Don't block Settings.json
!Settings.json
!.gitignore
Run Code Online (Sandbox Code Playgroud)

没有运气。

如何阻止除文件[Bb]in之外的所有内容Settings.json

  • 预期结果: Website\bin\Settings.json不被忽略

  • 实际结果: Website\bin\Settings.json继续被忽略

git gitignore

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

Git 忽略所有 __pycache__ 目录

我只是按照这个解决方案添加__pycache__/到我的.gitignore但它不起作用。所有具有格式的目录__pycache__仍然出现在我的git status

在此输入图像描述

git gitignore

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

忽略除特定文件类型之外的所有内容

我正在设置一个 git 存储库,但我只想将特定类型添加到 git 中。例如我将有以下文件:

/door/index.md
/door/photo.png
/door/video.mp4
Run Code Online (Sandbox Code Playgroud)

通过.gitignore,我只想同步index.mdphoto.png文件,其他任何内容都需要忽略。我尝试了以下方法,但似乎不起作用:

/*
/*/
!.gitignore
!/**/*.md
!**/*.md
!*.md
Run Code Online (Sandbox Code Playgroud)

git gitignore

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

git忽略文件而不是具有相同名称的文件夹

我的代码结构是:

.gitignore
my-service << this is a file without an extention
charts
| my-service << this is a folder
| | file1
| | file2
Run Code Online (Sandbox Code Playgroud)

当我在我的gitignore中写道时,my-service它忽略了my-service文件和my-service文件夹.如何只忽略根目录中的文件,而不是子目录?

git gitignore

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