相关疑难解决方法(0)

多个`.gitignore的皱眉?

除非一个回购包含几个独立的项目,否则在回购.gitignore的根部只有一个文件比在整个过程中只有一个文件是最简单的.当在一种方法比另一种方法更好时,是否有关于此或在线分析的标准最佳实践?

git

205
推荐指数
6
解决办法
8万
查看次数

gitignore排除规则如何实际运作?

我正在尝试解决大型目录结构上的gitignore问题,但为了简化我的问题,我已将其减少到以下内容.

我在一个全新的git存储库中有两个文件(foo,bar)的以下目录结构(到目前为止没有提交):

a/b/c/foo
a/b/c/bar
Run Code Online (Sandbox Code Playgroud)

显然,'git status -u'显示:

# Untracked files:
...
#       a/b/c/bar
#       a/b/c/foo
Run Code Online (Sandbox Code Playgroud)

我想要做的是创建一个.gitignore文件,忽略/ b/c中的所有内容但不忽略文件'foo'.

如果我创建一个.gitignore:

c/
Run Code Online (Sandbox Code Playgroud)

然后'git status -u'显示foo和bar都被忽略:

# Untracked files:
...
#       .gitignore
Run Code Online (Sandbox Code Playgroud)

这是我所期待的.

现在,如果我为foo添加排除规则,那么:

c/
!foo
Run Code Online (Sandbox Code Playgroud)

根据gitignore手册页,我希望这可行.但它没有 - 它仍然忽略了foo:

# Untracked files:
...
#       .gitignore
Run Code Online (Sandbox Code Playgroud)

这也不起作用:

c/
!a/b/c/foo
Run Code Online (Sandbox Code Playgroud)

这也不是:

c/*
!foo
Run Code Online (Sandbox Code Playgroud)

得到:

# Untracked files:
...
#       .gitignore
#       a/b/c/bar
#       a/b/c/foo
Run Code Online (Sandbox Code Playgroud)

在这种情况下,虽然不再忽略foo,但也不会忽略bar.

.gitignore中规则的顺序似乎也不重要.

这也不符合我的期望:

a/b/c/
!a/b/c/foo
Run Code Online (Sandbox Code Playgroud)

那个人忽略了foo和bar.

一种有效的方法是,如果我创建文件a/b/c/.gitignore并放入其中:

*
!foo
Run Code Online (Sandbox Code Playgroud)

但问题是最终在/ b/c下会有其他子目录,我不想在每一个中都放一个单独的.gitignore - 我希望创建'基于项目'.gitignore可以位于每个项目的顶级目录中的文件,并覆盖所有"标准"子目录结构.

这似乎也是等价的:

a/b/c/*
!a/b/c/foo
Run Code Online (Sandbox Code Playgroud)

这可能是我可以实现的最接近"工作"的东西,但需要说明完整的相对路径和明确的异常,如果我在不同级别有很多名为'foo'的文件,那将会很痛苦子目录树的.

无论如何,要么我不太明白排除规则是如何工作的,要么当目录(而不是通配符)被忽略时它们根本不起作用 - 以一个以/结尾的规则

任何人都可以对此有所了解吗?

有没有办法让gitignore使用像正则表达式那样合理的东西而不是这种笨拙的基于shell的语法? …

git gitignore

142
推荐指数
5
解决办法
7万
查看次数

Git忽略了不在gitignore中的文件

我有一个git存储库忽略了图像文件以及一些其他文件,但我的.gitignore文件只忽略了一个config.php文件.是否有一些我无法找到的全局忽略文件?我必须指定文件才能立即添加它们,并且它给了我这个警告:

您的.gitignore文件会忽略以下路径.

我的~/.gitconfig文件内容只是我的电子邮件地址.

git gitignore

104
推荐指数
5
解决办法
4万
查看次数

一种验证.gitignore文件的方法

有没有办法验证.gitignore文件,以便您快速找到不再存在的双路径或路径?通常,当项目很小时,这不是必需的,但是有很多分支和.gitignore文件的合并,这可以随便出现.

git gitignore

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

找到gitignore文件和行,导致git忽略一个文件

如何找到导致文件被git忽略的gitignore文件和行?

git

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

在子文件夹中将.gitignore与* .pyc一起使用

我发现在python 3中,我的应用程序的每个子文件夹中都有一个__pycache__,当然* .pyc文件也会在其中创建。在我应用程序根文件夹的.gitignore文件中,我可以简单地放置:

**/__pycache__
**/*.pyc
Run Code Online (Sandbox Code Playgroud)

在以后创建的所有子文件夹中忽略这些?还是我需要在每个子文件夹中放置一个.gitignore?

在相关说明中,我如何检查所有未跟踪(忽略)的内容。我尝试了“ git status -u”,它没有显示__pycache__或.pyc文件为未跟踪状态。

python git gitignore

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

为什么Git会忽略这些文件夹?

我在Git下添加了一个Laravel应用程序,以便我可以推送到Bitbucket.在根文件夹上,我运行git add -A并推送远程服务器.我检查过它没有发送所有文件夹; 例如,它根本没有添加vendor文件夹.如何确保添加所有子文件夹?当我跑步时git status,它说:

# On branch master
nothing to commit, working directory clean
Run Code Online (Sandbox Code Playgroud)

更新

我跑了git status --ignore,发现列出了以下文件:

stocktrack/app/storage/logs/laravel.log
stocktrack/app/storage/meta/services.json
stocktrack/app/storage/sessions/cdf664ccf42d040bc92d76418f736cc78e20d77a
stocktrack/app/storage/views/81774cd762e1fa0174ad42e0b0d53196
stocktrack/bootstrap/compiled.php
stocktrack/composer.lock
stocktrack/vendor/
Run Code Online (Sandbox Code Playgroud)

.gitignore,我只补充说.idea.为什么忽略其他人呢?

git git-status

6
推荐指数
2
解决办法
1818
查看次数

.gitignore忽略白名单文件夹

我有一个不应该被我的.gitignore忽略的文件夹,但是git仍然忽略它.我找不到任何其他.gitignore文件或git配置,建议忽略此文件夹,并且git check-ignore什么都不打印.

我的.gitignore像白名单一样组织:

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

我有一个沿着NotIgnoredFolder/subfolder/js的文件夹,git忽略了.根据它的位置和我的.gitignore,显然不应忽略这条路径.当我尝试添加它时git add NotIgnoredFolder/subfolder/js,我明白了

The following paths are ignored by one of your .gitignore files:
NotIgnoredFolder/subfolder/js
Run Code Online (Sandbox Code Playgroud)

我搜索了我的整个C:驱动器.gitignore和.gitignore_global文件可能会干扰,没有运气.我还检查了我的.git/config和我的.git/info/exclude.此外,当我尝试时git check-ignore NotIgnoredFolder/subfolder/js,Git打印一个空行.

有没有办法看到.gitignore文件导致忽略?或者这可能是我设置我的gitignore的结果?

我尝试过的解决方案没有成功:

Git忽略了不在gitignore中的文件

Git忽略了.idea文件夹,但这不在gitignore中

哪个gitignore规则忽略了我的文件

git gitignore

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

在 gitignore 中包含特定的文件扩展名

我想包含 Assets 目录和所有子目录中的所有 *.meta 文件,同时排除 Assets 中的其他所有内容

我试过

/Assets/*
!/Assets/**/*.meta
!*.meta
Run Code Online (Sandbox Code Playgroud)

但只包括 /Assets 中的 *.meta ???

谢谢你的帮助

git gitignore

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

如何知道 .gitignore 的哪一部分实际上负责忽略某些文件?

说我有.gitignore

x64/
x86/
bin/
obj/
FileA
FileB
FileC
etc..
Run Code Online (Sandbox Code Playgroud)

现在,当我构建时,我想忽略的所有构建文件实际上都被忽略了。但是,由于缺少文件(称为 FileX),构建失败。

当我将 FileX 添加到项目中时,它构建得很好,没有错误。但是,GIT 没有看到我添加了该文件,当我这样做时git status --ignored,我看到了untracked files.

我尝试了undo git假定不变中的解决方案,但没有成功。

为什么这个文件被忽略并且我没有将其添加到 .gitignore 中?

git gitignore

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

嵌套的 git 存储库从父 git 存储库继承忽略文件。这个可以禁用吗?

我正在一个带有嵌套 git 存储库的 linux 系统上工作。我的文件/目录结构如下:

~/
    .git/
    .gitignore
    file1
    project/
        .git/
        file2
        file3
Run Code Online (Sandbox Code Playgroud)

在我的 homedir 中,我为我的 linux 配置文件创建了一个 repo。忽略文件 (~/.gitignore) 仅包含“*”(排除所有内容)。我用'git add -f file'添加了文件。在嵌套存储库(项目)中,我发现即使在提交时更新了正确的 '(~/project/).git' 目录,所有内容也被排除在外。我已经使用以下命令检查了这一点:

> cd ~/project
> git add file2 
    The following paths are ignored by one of your .gitignore files:
    file2
    Use -f if you really want to add them.
    fatal: no files added

> git check-ignore -v file2
    ~/.gitignore:1:* file2
Run Code Online (Sandbox Code Playgroud)

命令 check-ignore 从版本 1.8.2 开始可用,其动机是 stackoverflow 问题:which gitignore rule is ignoring my file。 …

git nested gitignore

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

标签 统计

git ×11

gitignore ×8

git-status ×1

nested ×1

python ×1