如何在Windows上使用msysgit忽略Git中的目录或文件夹?


#1楼

似乎忽略文件和目录有两种主要方法:

  1. .gitignore

    • .gitignore文件放入.git文件夹之外的存储库的根.git (在Windows中, 请确保您看到的是真实的文件扩展名 ,然后再创建.gitignore. (最后一点是空文件扩展名))
    • 进行全局配置~/.gitignore_global并运行git config --global core.excludesfile ~/.gitignore_global将其添加到您的Git配置中

    注意:可以通过运行git rm --cached filename取消跟踪之前跟踪的git rm --cached filename

  2. 存储库排除 -对于不需要共享的本地文件,只需将文件模式或目录添加到文件.git/info/exclude 。 这些规则未提交,因此其他用户看不到它们。 更多信息在这里 。

要在被忽略的文件列表中设置例外,请参阅此问题 。


#2楼

我认为问题在于您的工作树是这样的:

a-cache/foo
a-cache/index.html
b-cache/bar
b-cache/foo
b-cache/index.html
.gitignore

...以及您描述的.gitignore 。 这将为您提供git status输出,例如:

$ git status
# On branch master
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#    .gitignore
#    a-cache/
#    b-cache/

... 如果 index.html文件尚未添加到资源库。 (Git看到缓存目录中存在不可忽略的文件,但它仅报告目录。)要解决此问题,请确保已添加并提交index.html文件:

git add *cache/index.html
git commit -m "Adding index.html files to the cache directories"

...,然后您的git status将如下所示:

$ git status
# On branch master
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#    .gitignore
nothing added to commit but untracked files present (use "git add" to track)

(显然,您也确实想提交.gitignore 。我只是对此测试用例感到懒惰。)


#3楼

如果要维护文件夹而不是其中的文件,只需将文件夹“ .gitignore”放入内容为“ *”的文件中即可。 该文件将使Git忽略存储库中的所有内容。 但是.gitignore将包含在您的存储库中。

$ git add path/to/folder/.gitignore

如果添加一个空文件夹,则会收到此消息(.gitignore是隐藏文件)

The following paths are ignored by one of your .gitignore files:
path/to/folder/.gitignore
Use -f if you really want to add them.
fatal: no files added

因此,使用“ -f”强制添加:

$ git add path/to/folder/.gitignore -f

#4楼

我有类似的问题。 我在Windows工具链上与Linux共享仓库一起工作,他们很高兴在给定的文件夹中创建具有相同名称(大小写除外)的文件。

这样做的结果是,我可以克隆存储库,并立即拥有数十个“修改过的”文件,如果我签入,将造成严重破坏。

我将Windows设置为区分大小写,而Git设置为不忽略大小写,但是它仍然失败(显然是在Win32 API调用中)。

如果我gitignore文件,那么我必须记住不要跟踪.gitignore文件。

但是我在这里找到了一个很好的答案:

http://archive.robwilkerson.org/2010/03/02/git-tip-ignore-changes-to-tracked-files/index.html


#5楼

在Windows中,还有一个斜杠。 使用.gitignore排除单个目录

dir_to_exclude /

将可能会工作,但排除所有带有

/

当目录中的文件名带有空格(例如my file.txt )时,会引起问题:Git Bash使用反斜杠(例如my\\ file.txt )对这些空格进行转义,并且Windows的Git不能区分/\\

要排除所有目录,请更好地使用:

** /

两个连续的星号表示目录内容。


#6楼

要指示Git忽略某些文件或文件夹,您必须创建.gitignore文件。

但是在Windows资源管理器中,您必须提供文件名。 您只是不能创建带有扩展名的文件。 诀窍是创建一个空的文本文件,然后转到命令提示符并将文件名更改为.gitignore

ren "New Text Document.txt" .gitignore

现在,使用您喜欢的文本编辑器打开文件,并添加您希望忽略的文件/文件夹名称。 您也可以使用通配符,例如: *.txt


#7楼

您可以使用以下内容创建“ .gitignore”文件:

*
!.gitignore

这个对我有用。


#8楼

默认情况下,实际上文件名为.gitignore时,Windows资源管理器将显示.gitignore.txt

Git不会使用.gitignore.txt

而且您不能将文件重命名为.gitignore ,因为资源管理器认为它是gitignore类型的文件,没有名称。

非命令行解决方案:

You can rename a file to ".gitignore.", and it will create ".gitignore"

#9楼

在项目的目录中创建一个名为.gitignore的文件。 通过在文件中输入目录名称(附加斜杠)来忽略目录:

dir_to_ignore/

更多信息在这里 。


#10楼

我在Windows资源管理器中使用创建文件时遇到一些问题. 一开始。

一种解决方法是进入命令提示符并使用“编辑”创建一个新文件。


#11楼

要忽略Git中的整个目录,最简单的方法是在目标目录中包含一个.gitignore文件,该文件仅包含“ *”。

一个说明性的例子,

示例系统

/root/.gitignore/dirA/someFile1.txtsomeFile2.txt/dirB/.gitignoresomeFile3.txtsomeFile4.txt

目标

  • 忽略/ dirB /的内容

顶级.gitignore(/root/.gitignore)

  • 这是您的标准gitignore信息所在的位置

忽略目录.gitignore(/root/dirB.gitignore)

  • 该文件读为“ *”,目录本身,所有文件均被完全忽略!

就这么简单:)


#12楼

万一您需要排除子文件夹,可以使用**通配符排除任何级别的子目录。

**/build/output/Debug/

#13楼

同样在您的\\.git\\info项目目录中,有一个排除文件实际上与.gitignore是相同的(我认为)。 您可以在其中添加要忽略的文件和目录。


#14楼

如果其他所有方法都失败,请尝试编辑文件

/.git/info/exclude

并将所需目录添加到文件末尾,如下所示:

# git ls-files --others --exclude-from=.git/info/exclude
# Lines that start with '#' are comments.
# For a project mostly in C, the following would be a good set of
# exclude patterns (uncomment them if you want to use them):
# *.[oa]
# *~
assets/
compiled/

我将文件夹“ assets”和“ compiled”添加到要忽略的文件和目录列表中。


#15楼

在Unix上:

touch .gitignore

在Windows上:

echo > .gitignore

在终端中执行的这些命令将在当前位置创建一个.gitignore文件。

然后只需将信息添加到此.gitignore文件(例如,使用Notepad ++),即可忽略哪些文件或文件夹。 保存您的更改。 而已 :)

详细信息: .gitignore


#16楼

在Windows和Mac上,如果要忽略当前目录中名为Flower_Data_Folder的文件夹,则可以执行以下操作:

echo Flower_Data_Folder >> .gitignore

如果它是一个名为data.txt的文件:

echo data.txt >> .gitignore

如果是类似“ Data / passwords.txt”的路径

echo "Data/passwords.txt" >> .gitignore.

#17楼

我在让Git拿起Windows上的.gitignore文件时遇到了一些问题。 $GIT_DIR/info/exclude文件似乎始终可以工作。

但是,这种方法的缺点是, $GIT_DIR目录中的文件未包含在签入中,因此无法共享。

ps $GIT_DIR通常是名为.git的隐藏文件夹

在Windows上忽略Git存储库中的目录相关推荐

  1. 将子目录分离(移动)到单独的Git存储库中

    我有一个Git存储库,其中包含许多子目录. 现在,我发现一个子目录与另一个子目录无关,应该将其分离到单独的存储库中. 如何在保留子目录中文件历史记录的同时执行此操作? 我想我可以制作一个克隆并删除每个 ...

  2. 从Git存储库中删除文件而不从本地文件系统中删除它

    我的初始提交包含一些日志文件. 我已将*log添加到我的.gitignore ,现在我想从我的存储库中删除日志文件. git rm mylogfile.log 将从存储库中删除文件,但也将从本地文件系 ...

  3. git-secret:在 Git 存储库中加密和存储密钥(下)

    在之前的文章中(点击此处查看上一篇文章),我们了解了如何识别包含密钥的文件,将密钥添加到 .gitignore ,通过 git-secret 进行加密,以及将加密文件提交到存储库.在本篇文章中,将带你 ...

  4. git 初始化git存储库_什么不保存到Git存储库中

    git 初始化git存储库 You should not commit these four types of files into your Git repository. 您不应将这四种类型的文件 ...

  5. 如何仅从git存储库中稀疏签出单个文件?

    如何从git仓库中检出一个文件? #1楼 git checkout branch_or_version-路径/文件 示例: git checkout HEAD -- main.c #2楼 如果您已经有 ...

  6. 在Git存储库中查找并恢复已删除的文件

    假设我在Git存储库中. 我删除文件并提交更改. 我继续工作并做出更多承诺. 然后,我发现需要还原该文件. 我知道我可以使用git checkout HEAD^ foo.bar来签出文件,但是我真的不 ...

  7. 如何从 Git 存储库中删除文件?

    问: 如何从我的存储库中删除 "file1.txt"? 答1: huntsbot.com – 程序员副业首选,一站式外包任务.远程工作.创意产品分享订阅平台. 使用 git rm. ...

  8. .git文件夹_将Git存储库中的文件夹转换为全新的存储库

    前提 如果您创建存储库的新克隆,则在将文件夹拆分到单独的存储库时,不会丢失任何Git历史记录或更改. 步骤 打开终端. 将当前工作目录更改为要创建新存储库的位置. 克隆包含子文件夹的存储库. $ gi ...

  9. java使用ssh下载git代码_使用Java用户名和密码在ssh上克隆git存储库

    对于使用SSH进行身份验证,JGit使用 JSch.JSch提供了一个SshSessionFactory来创建和配置SSH连接.告诉JGit应该使用哪个SSH会话工厂的最快方法是通过SshSessio ...

最新文章

  1. java 底层运行_从表面到底层丨Java和JVM的运行原理,现在带给你
  2. 找到二叉树中的最大搜索二叉子树
  3. Explore the Service Console
  4. 2014 北京邀请赛ABDHJ题解
  5. Linux内核BPF学习1
  6. asp.net core使用serilog将日志推送到腾讯云日志服务
  7. vs2013编译osg缺少mfc120d.lib
  8. xugang 记录一个.NET 程序员的成长 asp.net水晶报表的一些问题
  9. html5+css3动画学习总结
  10. Unix/Linux环境C编程入门教程(20) 搭建基于Mac的 Xcode 与 QT 开发环境
  11. BUAA_OO_第一次作业总结
  12. Android Studio 自定义字体显示英文音标
  13. java基于springboot小区水电量电费管理系统
  14. MS5611气压计数据采集(模拟IIC)/温度采集/相对高度求解
  15. Random Projection 随机投影法
  16. 计算机安装Hp1005打印机,hp1005打印机安装方法
  17. 我的财富自由之路 - 财富的自我认知
  18. 自动批量翻译文件夹名称为中文
  19. 假期计划(holiday)【CSPS2022】
  20. Mac 下终端命令无法使用的问题

热门文章

  1. [Android Pro] Test win
  2. UITextField 和 UITextView实现字数限制 输入若干字以后就无法继续输入的功能
  3. EA 反向工程 导入oracle中表结构
  4. 模板与泛型编程(二)
  5. DHCP服务器控制企业成本
  6. Cisco路由器安全配置方案
  7. Spring Boot开发八字箴言(以我过去这段时间的经验总结得到)
  8. NPAPI插件开发学习:NPAPI和NPRuntime的介绍
  9. 温故而知新_C语言_define_宏
  10. 在.Net Core中使用Swagger制作接口文档