问题标签 [gitignore]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - 有没有办法告诉 git-status 忽略 .gitignore 文件的影响?
我已经配置了许多.gitignore
文件,以从一组大约 6,000 个未跟踪文件中过滤掉许多不同的不需要的文件。git add .
当我的过滤列表看起来像我想要的那样时,我想做。
但是,然后我想.gitignore
暂时禁用过滤器以查看留下了什么,并确保没有任何重要的意外过滤。
我知道这git-clean
包括忽略的选项.gitignore files
。有类似的选项git-status
吗?
我可以检查并删除所有.gitignore
文件,进行检查,然后恢复它们,但似乎应该有更简单的方法?
git - .gitignore 排除规则如何实际工作?
我正在尝试解决大型目录结构上的 gitignore 问题,但为了简化我的问题,我将其简化为以下内容。
我在一个全新的 git 存储库中有以下两个文件(foo,bar)的目录结构(到目前为止没有提交):
显然,“git status -u”显示:
我想要做的是创建一个 .gitignore 文件,它忽略 a/b/c 中的所有内容,但不忽略文件'foo'。
如果我这样创建一个 .gitignore :
然后 'git status -u' 显示 foo 和 bar 被忽略:
正如我所料。
现在,如果我为 foo 添加排除规则,则:
根据 gitignore 手册页,我希望这可以工作。但它没有 - 它仍然忽略 foo:
这也不起作用:
这也不是:
给出:
在这种情况下,虽然 foo 不再被忽略,但 bar 也不会被忽略。
.gitignore 中规则的顺序似乎也不重要。
这也不符合我的预期:
那个忽略了 foo 和 bar。
一种可行的情况是,如果我创建文件 a/b/c/.gitignore 并放入其中:
但是这样做的问题是最终在 a/b/c 下会有其他子目录,我不想在每个子目录中都放置一个单独的 .gitignore - 我希望创建“基于项目”的 .gitignore可以位于每个项目的顶级目录中的文件,并涵盖所有“标准”子目录结构。
这似乎也是等价的:
这可能是我可以实现的最接近“工作”的事情,但是需要说明完整的相对路径和明确的异常,如果我在不同级别有很多名为“foo”的文件,这将是一件痛苦的事情的子目录树。
无论如何,要么我不太了解排除规则是如何工作的,要么当目录(而不是通配符)被忽略时它们根本不起作用 - 以 / 结尾的规则
任何人都可以对此有所了解吗?
有没有办法让 gitignore 使用像正则表达式这样合理的东西,而不是这种笨拙的基于 shell 的语法?
我在 Cygwin/bash3 上使用 git-1.6.6.1 和在 Ubuntu/bash3 上使用 git-1.7.1 并观察它。
git - 保护文件免受 Git 攻击
我正在使用 Git 和 WindRiver 来管理我的一个项目。代码正在被管理,但项目文件(例如 .cproject、.project、.wrmakefile 和 .wrproject)不是。但是,当我切换分支时,Git 会删除这些文件,尽管它们位于 .gitignore 中,从而消除了我编译代码的能力,而无需恢复提交或保留备份。
那么,有没有办法对 Git 说——忽略这些文件,无论如何都不要碰它们?
iphone - iPhone (Xcode) 项目的 .gitignore 的“标准”内容是什么?
iPhone (Xcode) 项目的 .gitignore 文件的“标准”内容是什么?
PS:不确定这是否需要是CW。
git - 使用 Git 管理框架,在第一次拉取后忽略对给定文件的更改
我正在使用 git 来管理扩展的 CodeIgniter 框架。它是当前 CI 版本的克隆,带有额外的帮助程序、库等。
我有很多网站都使用这个框架,如果我在一个网站中添加新的帮助方法或修复错误,我希望能够轻松更新所有其他网站,而不会覆盖它们的任何自定义文件。
我希望实现以下工作流程
- 创建一个新的站点目录
git init
来初始化一个空白的本地 git repo - 将其与远程框架 repo 链接
git remote add origin git@github.com:username/framework_repo
- 拉取远程框架的新副本
git pull origin master
- 对站点文件进行更改并将它们提交回远程仓库
git push origin master
- 将这些更改下拉到其他站点
- 重复步骤 4 和 5
没关系,但是:
- 像 config.php 和 database.php 这样的文件不应该被提交回远程仓库,因为它们对于每个站点都是唯一的。
- 但是,我希望它们存在于远程存储库中,因此在第一次拉取请求时,默认文件将下载到我的本地目录。
- 此外,如果我从远程仓库再次拉取以更新框架,我不希望这些文件被覆盖
实现这一目标的最佳方法是什么?一些 .gitignore 巫毒?我已经使用 .gitignore 来忽略文件,但在这种情况下,它略有不同,因为我只想在第一个请求时提取文件。
我希望这是有道理的。
git - git忽略异常
我有一个 gitignore 文件,它使 git 忽略*.dll
文件,这实际上是我想要的行为。但是,如果我想要一个例外(即能够提交foo.dll
),我该如何实现呢?
ruby-on-rails - Github 和 .gitignore 中的非忽略文件
我的 .gitignore 文件中有一个需要编辑的文件。
我编辑了 .gitignore,提交了它,但我的文件仍然无法提交。
我删除了文件,重新读取它,一旦它具有相同的名称,它仍然无法提交。
我尝试了 -f,然后将一个空版本的文件添加到我的存储库中。最糟糕的是,如果我进行部署,此时它会破坏我的整个应用程序。
更新:
我要添加的文件是:
我的 .gitignore 文件说:
Git状态揭示了这一点:
ckcustom.js 是 ckeditor 套件的编译文件,由其他更改进行。但我不能只编辑那个文件,我必须编辑它的内部工作。
ruby-on-rails - 如何在不泄露应用程序密钥和凭据的情况下开源我的 Rails 应用程序
我在 GitHub 上托管了许多 Rails 应用程序。它们目前都是私有的,我经常会从他们的 GitHub 存储库中部署它们。我希望能够将其中一些开源,就像您可以在http://opensourcerails.com上找到的一样。
我的问题是:如何在不泄露超级机密凭据的情况下公开这些存储库?
例如,我可以查看 /config/initializers/cookie_verification_secret.rb 并查看几乎每一个的 cookie 秘密。我不明白这是怎么接受的。这些用户是否都以某种方式在他们的部署环境中更改了这些值?
一些用户甚至公开了他们的 AWS 秘密和密钥!其他人会将他们的 AWS 密码设置为:
尽管我不确定他们在什么时候设置了该值。
那么,在不影响应用程序安全性的情况下开源 Rails 应用程序的最佳实践是什么?
git - 您如何 gitignore 除了目录之外的所有内容?
我正在尝试使用 cron'd git 同步我的台式机和笔记本电脑。它在单个目录上运行良好。但是我想同步分散的多个配置文件和其他一些东西。为此,我决定将我的主文件夹变成一个 git 目录并忽略除少数选定文件和目录之外的所有内容。
不工作。查看另一个 stackoverflow 问题,我发现*/
并使用它而不是*
. 这几乎如我所愿,但随后我散布在我的主目录中的所有随机单个隐藏文件都出现了。
git - 我可以“git commit”一个文件并忽略其内容更改吗?
我团队中的每个开发人员都有自己的本地配置。该配置信息存储在一个名为的文件中,该文件devtargets.rb
用于我们的 rake 构建任务。不过,我不希望开发人员破坏彼此的 devtargets 文件。
我的第一个想法是将该文件放在.gitignore
列表中,这样它就不会提交给 git。
然后我开始想:是否可以提交文件,但忽略对文件的更改?所以,我会提交文件的默认版本,然后当开发人员在他们的本地机器上更改它时,git 会忽略这些更改,并且当你执行 git status 或 git commit 时它不会显示在更改的文件列表中.
那可能吗?这肯定是一个不错的功能...