如何防止Git忽略包含bin、Win32、Release的子路径中的特定文件?

问题描述 投票:0回答:1

我有一个文件想要附加并且不会被 Git 忽略。

但是这个文件位于这个路径:ProjectName\Storm in\StormLib\Win32\ReleaseAS\StormLibRAS.lib

.gitignore 文件位于 ProjectName 文件夹中,包含以下规则:

# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
[Ww][Ii][Nn]32/
[Aa][Rr][Mm]/
[Aa][Rr][Mm]64/
bld/
[Bb]in/
[Oo]bj/
[Oo]ut/
[Ll]og/
[Ll]ogs/ 

我尝试了不同的组合并搜索了很多主题。我认为这个答案对我来说更相关。我为我的案例复制了这个。

*
!Storm/
Storm/*
!Storm/bin/
Storm/bin/*
!Storm/bin/StormLib/
Storm/bin/StormLib/*
!Storm/bin/StormLib/Win32/
Storm/bin/StormLib/Win32/*
!Storm/bin/StormLib/Win32/ReleaseAS/
Storm/bin/StormLib/Win32/ReleaseAS/*
!Storm/bin/StormLib/Win32/ReleaseAS/StormLibRAS.lib 

但还是没有成功。此外,在这种情况下,Storm 文件夹及其内部的所有内容都将被忽略并从 git 中删除。

我认为所有这些模式都不适合我的情况,因此 git 规则之间存在某种冲突。我想提醒您的是,文件 ProjectName\Storm in\StormLib\Win32\ReleaseAS\StormLibRAS.lib 和 .gitignore 文件的路径包含以下规则:

  • [Ww][Ii][Nn]32/
  • [Bb]中/
  • [Rr]释放/

也许这也是一个问题,这些文件夹位于文件的路径中。 如果有人有任何想法,欢迎您。

git gitignore
1个回答
0
投票

如何使用 .gitignore 文件

这应该可以回答您的问题。据我了解,您必须“排除/否定”您不想忽略的文件(您确实这样做了)。

但我认为你的问题可能是你排除了

!Storm/
但然后你又把它包含进来了
Storm/*

我会尝试这样做:

# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
[Ww][Ii][Nn]32/
[Aa][Rr][Mm]/
[Aa][Rr][Mm]64/
bld/
[Bb]in/
[Oo]bj/
[Oo]ut/
[Ll]og/
[Ll]ogs/
!Storm\bin\StormLib\Win32\ReleaseAS\StormLibRAS.lib

在 .gitignore 文件的底部。

我认为这将使该 lib 文件再次对 git 可见

希望这有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.