0

はい、これは重複しているように見えますが、これは以前に数回尋ねられていることがわかります。しかし、私が見た他の答えはどれも私を助けませんでした.

Git (正確には GitHub) に保存したい Umbraco インストールがあり、Umbraco が作成するログ ファイルと一時ファイルを明らかに省略したいと考えています。

.gitignore ファイルに次のものがあります。

App_Data/TEMP/
App_Data/Logs/
App_Data/ClientDependency/
App_Data/Preview/

しかし、うまくいきません。これらのディレクトリ内のファイルは引き続き追加されます。

最後にアスタリスクを付けてみました(ドキュメントでは必要ないと言われています-そして、そのディレクトリ内のファイルがある場合にのみ処理します。)

各行の終わりにスペースがないことを確認しました。

ディレクトリ名の大文字と小文字を再確認しました。

スラッシュをある方法から別の方法に交換しました。

リポジトリのルートからのフルパスを入力すると機能しますが、それは具体的すぎます。(ただし、当面は回避策として使用します)。新しい Umbraco ベースのプロジェクトを作成する場合、.gitignore ファイルを簡単に再利用できるようにしたいと考えています。

フル パスを指定しないその他のルール (NuGet のパッケージ フォルダーなど) は正しく処理されています。

packages/

そのルールは機能します - そして、私は実際には違いがわかりません.

ここで私が間違っていることを誰かが見ることができますか?

アップデート

機能するフルパスは次のとおりです。

/src/Company.Client.Web/App_Data/Logs/
/src/Company.Client.Web/App_Data/TEMP/
/src/Company.Client.Web/App_Data/ClientDependency/
/src/Company.Client.Web/App_Data/Preview/

(少し難読化しましたが、それが今あるものです)

GitHub for Windows が示しているのは次のとおりです。 Windows用のGitHubが示しているものは次のとおりです

更新 2

.git フォルダーはリポジトリのルートにあるため、/. つまりD:\github\RepositoryName\.git\、比較用のsrcフォルダはD:\github\RepositoryName\src\

4

3 に答える 3

6

git 1.8.2 (2013 年 3 月 8 日)以降、以下を使用できるようになりました**

.gitignoreおよび.gitattributesファイルのパターンには、サブディレクトリの 0 以上のレベルに一致するパターンとして、を含めることができ**/ます。

たとえば、" " は、" " 自体または " " のサブディレクトリ内の" foo/**/bar" に一致します。barfoofoo

あなたが望んでいるのは:

**/App_Data/TEMP/
**/App_Data/Logs/
**/App_Data/ClientDependency/
**/App_Data/Preview/
于 2014-03-06T09:19:16.577 に答える
5

.gitignore でファイル名またはフォルダーを指定すると、ディレクトリ構造のどこに表示されても無視されます。それが機能する理由packages/です。

のような部分パスについては同じではありませんApp_Data/TEMP/

できることは次のとおりです。

*/*/App_Data/TEMP/

App_Data/TEMPこれは、2 つの親ディレクトリの名前に関係なく無視されます。ただし、階層のこの正確な深さにあるフォルダーに対してのみ機能します。つまり、これらは無視されます。

  • src/Company.Client.Web/App_Data/TEMP
  • src/Company.Client2.Web/App_Data/TEMP

ただし、これらは無視されません。

  • src/App_Data/TEMP
  • src/Company.Client.Web/Prototype/App_Data/TEMP

ドキュメントに記載されているように、これは設計によるものです。

[パターンにスラッシュが含まれているがスラッシュで終わらない場合]、git はパターンを、FNM_PATHNAME フラグを指定した fnmatch(3) による消費に適したシェル グロブとして扱います。パターン内のワイルドカードは、パス名の / と一致しません。たとえば、「Documentation/*.html」は「Documentation/git.html」と一致しますが、「Documentation/ppc/ppc.html」または「tools/perf/Documentation/perf.html」とは一致しません。

于 2013-02-12T11:22:24.560 に答える