【问题标题】:GitExtensions not respecting .gitignoreGitExtensions 不尊重 .gitignore
【发布时间】:2018-07-11 18:00:38
【问题描述】:

我正在使用 Windows 10 64 位和 Git Extensions 2.51.01

我已将 https://github.com/github/gitignore/blob/master/VisualStudio.gitignore 中的 .gitignore 文件添加到我的 git 存储库根目录下的 .gitignore 文件夹中,包括

[Bb]in/
[Oo]bj/

而且 git 扩展的提交对话框显示了太多的文件,包括 bin 和 obj 文件夹中的许多文件。我没有激活“显示忽略的文件”选项。

这些是尚未添加到存储库的文件,旁边有 + 图标。

如果我使用 Git Extensions 的“添加到 gitignore”右键单击选项,然后输入 bin/ 并单击“忽略”,则会出现以下错误:

System.UnauthorizedAccessException: Access to the path ... is denied.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
at System.IO.StreamWriter.CreateFile(String path, Boolean append, Boolean checkHost)
at System.IO.StreamWriter..ctor(String path, Boolean append, Encoding encoding, Int32 bufferSize, Boolean checkHost)
at System.IO.StreamWriter..ctor(String path, Boolean append, Encoding encoding)
at
GitUI.CommandsDialogs.FormAddToGitIgnore.<>c__DisplayClass8_0.<AddToIgnoreClick>b__0(String x)
at
GitUI.CommandsDialogs.FormAddToGitIgnore.AddToIgnoreClick(Object sender, EventArgs e)

【问题讨论】:

  • 堆栈跟踪是什么?似乎该堆栈跟踪的全部意义在于回答您的问题...
  • Stacktrace 看起来没什么用,但我已经添加了。
  • 你可能是对的,但如果字面意思是...,那确实是个问题。
  • 问题是我的 .gitignore 文件位于名为 .gitignore 的目录中,因此可能 Git Extensions 试图编辑名为 .gitignore 的“文件”(实际上是一个目录)并失败,因为它不是文件。

标签: git gitignore git-extensions


【解决方案1】:

.gitignore 必须是文件,而不是文件夹。 https://github.com/github/gitignore 中的自述文件实际上是这么说的。 我相信您将文件从该存储库复制到您的文件中并将其重命名为.gitignore。在 Windows 资源管理器中,您将其重命名为 .gitignore.(注意尾随点)。

您可以在https://git-scm.com/docs/gitignore 或谷歌上找到详细信息。

【讨论】:

  • 不,将文件重命名为“.gitignore”。没有效果。
  • doh,由于某种原因,我认为它应该是一个名为 .gitignore 的文件,位于名为 .gitignore 的文件夹中,现在我将名为“.ignore”的文件移至根目录后可以正常工作:)
猜你喜欢
  • 1970-01-01
  • 2017-06-06
  • 2021-07-21
  • 2015-07-22
  • 2018-09-12
  • 1970-01-01
  • 2011-04-30
  • 2021-04-15
  • 2014-03-08
相关资源
最近更新 更多