如何在Windows上使用msysgit忽略Git中的目录或文件夹?
当前回答
我在让Git在Windows上获取.gitignore文件时遇到了一些问题。但$GIT_DIR/info/exclude文件似乎始终有效。
然而,这种方法的缺点是$GIT_DIR目录中的文件不包含在签入中,因此不共享。
p.s.$GIT_DIR通常是名为.GIT的隐藏文件夹
其他回答
此外,在您的\.git\info项目目录中还有一个排除文件,它实际上与.gitignore(我认为)相同。您可以在其中添加要忽略的文件和目录。
我认为问题是你的工作树是这样的:
a-cache/foo
a-cache/index.html
b-cache/bar
b-cache/foo
b-cache/index.html
.gitignore
…用你描述的.gitignore。这将为您提供git状态输出,如:
$ 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状态将如下所示:
$ 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。我只是懒得处理这个测试用例。)
在Unix上:
touch .gitignore
在Windows上:
echo > .gitignore
在终端中执行的这些命令将在当前位置创建.gitignore文件。
然后只需将信息添加到此.gitignore文件(例如使用Notepad++),哪些文件或文件夹应被忽略。保存更改。就是这样:)
更多信息:.gitignore
当其他一切都失败时,尝试编辑文件
/.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”添加到要忽略的文件和目录列表中。
在Windows中,有一个额外的斜线捕捉。排除.gitignore中的单个目录
目录_排除/
将可能工作,但排除所有具有
/
当目录中的文件名带有空格(如my-file.txt)时会导致问题:GitBash用反斜杠(如my\file.txt)转义这些空格,而Git for Windows无法区分/和\。
要排除所有目录,最好使用:
**/
两个连续的星号表示目录内容。
推荐文章
- 如何在命令提示符中使用空格?
- Visual Studio代码如何解决合并冲突与git?
- 无法推送到远程分支,无法解析到分支
- 在Python中如何在Linux和Windows中使用“/”(目录分隔符)?
- 命令行从操作系统级配置中删除环境变量
- Git:如何将数据库重置为特定的提交?
- 如何在合并期间使用Git和命令行保存本地文件或远程文件?
- 能够用一个命令推到所有git遥控器?
- 重新基于Git合并提交
- 忽略已经签入目录的内容?
- 如何从windows cmd保存git提交消息?
- (Mac) -bash: __git_ps1:命令未找到
- 在特定的文件夹中打开Cygwin
- 如何删除多个已删除的文件在Git仓库
- 使用vimdiff查看所有' git diff '