如何在Windows上使用msysgit忽略Git中的目录或文件夹?
当前回答
我也有类似的问题。我在一个Windows工具链上工作,与Linux人员共享一个存储库,他们很乐意在给定的文件夹中创建具有相同(大小写除外)名称的文件。
其效果是,我可以克隆存储库,并立即拥有数十个“修改”的文件,如果我签入,这些文件将造成破坏。
我将Windows设置为区分大小写,Git设置为不忽略大小写,但它仍然失败(显然是在Win32 API调用中)。
如果我忽略了这些文件,那么我必须记住不要跟踪.gitignore文件。
但我在这里找到了一个好答案:
http://archive.robwilkerson.org/2010/03/02/git-tip-ignore-changes-to-tracked-files/index.html
其他回答
似乎忽略文件和目录有两种主要方式:
.git忽略将.gitignore文件放置到存储库的根目录中,而不是.git文件夹(在Windows中,确保看到真正的文件扩展名,然后使.gitignore.(结尾处的点为空文件扩展名))生成全局配置~/.gitignore_global并运行git-config--global-core.excludsfile~/.gigignore_global将其添加到git配置中注意:以前跟踪的文件可以通过运行gitrm--缓存文件名来取消跟踪存储库排除-对于不需要共享的本地文件,只需将文件模式或目录添加到文件.git/info/exclude中即可。这些规则未提交,因此其他用户看不到。这里有更多信息。
要在忽略文件列表中设置例外,请参阅此问题。
这对一些人来说可能非常明显,但我确实从其他答案中理解了这一点。
在目录中创建.gitignore文件本身没有任何作用。您必须将.gitignore作为文本文件打开,并将希望它忽略的文件/目录写在各自的行上。
所以cd到Git存储库目录
touch .gitignore
nano .gitignore
然后写下要忽略的文件和/或目录的名称及其扩展名(如果相关)。
此外,.gitignore在某些操作系统(例如Mac)上是一个隐藏文件,因此您需要ls-a来查看它,而不仅仅是ls。
您可以创建包含以下内容的“.gitignore”文件:
*
!.gitignore
这对我有用。
暂时忽略已在git中的目录/文件:
我在一个多项目等级的项目中有很多项目,它们可能需要很长时间才能删除,它们几乎相同但不同。有时我想通过将它们全部删除来将它们从渐变构建中删除。吉特终究能把它们弄回来。然而,我也不希望他们以git状态出现。因此,我使用以下简单程序:;
删除我不想要的文件和文件夹。验证生成仍然有效告诉git暂时忽略已删除的文件(我们可以找回它们)
gitls文件--已删除-z | git更新索引--假定-z不变--标准输入
在你想要他们回来之前,不要带着他们过日子。然后,运行与之前相同的命令,但切换为“假设不变”或“不假设不变”
git ls文件--已删除-z | git更新索引--不假定未更改-z--标准输入
我在让Git在Windows上获取.gitignore文件时遇到了一些问题。但$GIT_DIR/info/exclude文件似乎始终有效。
然而,这种方法的缺点是$GIT_DIR目录中的文件不包含在签入中,因此不共享。
p.s.$GIT_DIR通常是名为.GIT的隐藏文件夹
推荐文章
- 如何点Go模块的依赖在Go。Mod到回购中的最新提交?
- 为什么调用git分支——unset-upstream来修复?
- Windows git“警告:LF将被CRLF取代”,这是警告尾巴向后吗?
- git中的哈希冲突
- git可以自动在空格和制表符之间切换吗?
- Git暂存文件列表
- 如何将git配置存储为存储库的一部分?
- 如何修改GitHub拉请求?
- 在Sublime Text 2中使用Ctrl+D进行多个选择时,我如何跳过匹配?
- #定义WIN32_LEAN_AND_MEAN具体排除了什么?
- 如何在Github和本地删除最后n次提交?
- 我如何调试git/git-shell相关的问题?
- 错误:无法使用rebase进行拉取:您有未分阶段的更改
- Git隐藏未缓存:如何把所有未分期的变化?
- 真实的恶魔