Sta*_*tan 13 git windows-xp gitignore
WinXP + mysisGit1.7
在我的.gitignore文件中,但仍然看不到Demos/path/to/file/file.cpp
被git跟踪.
我有以下条目:
Demos/
!Demos/path/to/file/file.cpp
Run Code Online (Sandbox Code Playgroud)
绝对路径是: c:\Project\Demos\path\to\file\file.cpp
可能有什么不对?请帮忙,谢谢.
编辑:
我发现mysisGit .gitignore在WindowsXP上工作的方式只能忽略某些类型的文件,然后排除一些相同类型的文件.例如:
*.bak
!tracking.bak
!/path/to/file/tracking2.bak
Run Code Online (Sandbox Code Playgroud)
它不起作用忽略文件夹并排除该文件夹下的一些文件.以下不起作用:
/folderUnderRepoRoot/
!/folderUnderRepoRoot/tracking.cpp
Run Code Online (Sandbox Code Playgroud)
也不
anyFolderNamedLikeThis/
!anyFolderNamedLikeThis/tracking.cpp
!/anyFolderNamedLikeThis/tracking.cpp
Run Code Online (Sandbox Code Playgroud)
但是,我发现有一个例外.有一种解决方法可以将文件排除在被忽略的文件夹下(而不是它的子文件夹下).这有效.
/folderUnderRepoRoot/*
/folderUnderRepoRoot/tracking.cpp
Run Code Online (Sandbox Code Playgroud)
但是这种方式仅在文件不在任何子文件夹中时受到限制,因此它没那么有用.
所以我最终仍然提交了大部分源文件,即使我只对一些文件感兴趣,同时跟踪其他一些大项目.这意味着有一堆文件我不会碰,但仍然需要提交它们.
tan*_*ius 11
您的.gitignore
异常不起作用,因为"如果排除该文件的父目录,则无法重新包含文件"[ source ].
作为一种丑陋但有效的解决方法,请在文件路径的每个目录级别执行此操作:
您的条目看起来像这样,每个两行部分为目录层次结构的一个级别执行这些步骤:
Demos/*
!Demos/path/
Demos/path/*
!Demos/path/to/
Demos/path/to/*
!Demos/path/to/file/
Demos/path/to/file/*
!Demos/path/to/file/file.cpp
Run Code Online (Sandbox Code Playgroud)
所以,你不要Demos/
像问题作者那样排除.它是我们文件的父目录,因此您必须在之后重新包含它.相反,首先要排除其内容:Demos
.
归档时间: |
|
查看次数: |
3110 次 |
最近记录: |