【问题标题】:Why am I unable to specify a relative path in a .gitignore?为什么我无法在 .gitignore 中指定相对路径?
【发布时间】:2023-03-26 02:38:01
【问题描述】:

我在 windows 机器上有以下目录结构:

.gitignore
WebUserApp/
   lib/
      angular/
      angular-ui-router/
      typings/

.gitignore 和 WebUserApp 处于同一级别,在 WebUserApp 下是一个 lib 目录。 lib 目录包含三个文件夹,我想忽略 angular 和 angular-ui-router 文件夹的发送。

我尝试了以下 .gitignore,但它不起作用

# Ignore
WebUserApp/lib/angular
WebUserApp/lib/angular-ui-router

我试过这个 .gitignore 并且它有效

# Ignore
/angular
/angular-ui-router

有人可以向我解释为什么 .gitignore 的第一个版本不起作用

【问题讨论】:

  • 在将WebUserApp/lib/angularWebUserApp/lib/angular-ui-router 目录添加到.gitignore 之前,它们是否存在于git 的系统中?换句话说,它们的存在是否已在 git 中注册,然后您尝试通过添加到 .gitignore 来删除它们?
  • 以前不存在的。事实上,GitHub 上的存储库是新的,并且 .gitignore 是在推送之前创建的。当我将第一个与“WebUserApp/lib/angular”一起使用时,它拒绝忽略 angular 文件夹并推送它

标签: javascript git github github-for-windows


【解决方案1】:

我认为

someFolder/

忽略所有名为 someFolder 的文件夹,与树中的级别无关,只要它低于当前级别。

您实际上可能想尝试:

# Ignore
/WebUserApp/lib/angular/
/WebUserApp/lib/angular-ui-router/

那么你应该可以引用相对路径。

路径末尾的斜线如

/WebUserApp/lib/angular/

git 只会忽略这样命名的文件夹,但不会忽略文件或符号链接。

【讨论】:

    【解决方案2】:

    试试这个

    angular/
    angular-ui-router/
    

    它必须工作正常。

    【讨论】:

    • 是的,这确实工作正常。但是我的问题是为什么当我前面有“WebUserApp/lib”时第一个不起作用?
    • 我认为您需要添加最后一个斜杠来引用文件夹。
    • 嗯,这很奇怪,我在我当前的项目中使用了同样的符号并且工作得很好。也许这是 Angular 库的问题,但我对此表示怀疑。尝试忽略任何其他文件夹并忽略其他 Git 项目中的这些文件夹,以准确了解问题出在哪里。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-16
    • 1970-01-01
    • 2013-12-19
    • 1970-01-01
    • 2012-06-13
    • 2018-03-07
    相关资源
    最近更新 更多