如何在Windows上使用msysgit忽略Git中的目录或文件夹?
当前回答
若要忽略整个目录,请在其中放置.gitignore的“*”。
例如
示例系统
/root/
.gitignore
/dirA/
someFile1.txt
someFile2.txt
/dirB/
.gitignore
someFile3.txt
someFile4.txt
Goal
忽略dirB的内容/
顶级(/root/.gitignore)
你可以在这里“dirB/”
忽略的目录(/root/dirB/.gitignore)
或者你可以在这里“*”
Git在文件系统的每一步都监视gitignore。所以这里我选择dirB/.gitignore作为“*”来忽略dirB/,包括其中的所有文件和子磁盘。
多恩☺️
其他回答
您可以创建包含以下内容的“.gitignore”文件:
*
!.gitignore
这对我有用。
要指示Git忽略某些文件或文件夹,必须创建.gitignore文件。
但在Windows资源管理器中,您必须提供文件的名称。您无法创建仅具有扩展名的文件。诀窍是创建一个空文本文件,然后转到命令提示符,将文件名更改为.gitignore:
ren "New Text Document.txt" .gitignore
现在用您最喜欢的文本编辑器打开文件,并添加您希望忽略的文件/文件夹名称。也可以使用通配符,如*.txt。
这对一些人来说可能非常明显,但我确实从其他答案中理解了这一点。
在目录中创建.gitignore文件本身没有任何作用。您必须将.gitignore作为文本文件打开,并将希望它忽略的文件/目录写在各自的行上。
所以cd到Git存储库目录
touch .gitignore
nano .gitignore
然后写下要忽略的文件和/或目录的名称及其扩展名(如果相关)。
此外,.gitignore在某些操作系统(例如Mac)上是一个隐藏文件,因此您需要ls-a来查看它,而不仅仅是ls。
我在让Git在Windows上获取.gitignore文件时遇到了一些问题。但$GIT_DIR/info/exclude文件似乎始终有效。
然而,这种方法的缺点是$GIT_DIR目录中的文件不包含在签入中,因此不共享。
p.s.$GIT_DIR通常是名为.GIT的隐藏文件夹
当其他一切都失败时,尝试编辑文件
/.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”添加到要忽略的文件和目录列表中。
推荐文章
- 如何从远程Git存储库中提取并覆盖本地存储库中的更改?
- Github:导入上游分支到fork
- Git单次修订的日志
- 如何验证批处理文件中是否存在一个文件?
- Git在不改变提交时间戳的情况下进行改基
- VS 2017 Git本地提交数据库。每次提交时锁定错误
- 如何在过去的一些任意提交之间注入一个提交?
- 从GitHub克隆项目后拉git子模块
- GitHub上的分叉和克隆有什么区别?
- 递归地按模式添加文件
- 我如何使用notepad++(或其他)与msysgit?
- XAMPP -端口80被PID 4的“无法打开进程”使用!12
- 如何将现有的解决方案从Visual Studio 2013添加到GitHub
- Git存储库中的悬垂提交和blob是什么?它们来自哪里?
- 我如何简单地从我最新的git提交创建一个补丁?