如何在Windows上使用msysgit忽略Git中的目录或文件夹?
当前回答
默认情况下,当文件名为.gitignore.txt时,Windows资源管理器将显示.gitignore。
Git不会使用.gitignore.txt
您不能将文件重命名为.gitignore,因为Windows资源管理器认为它是一个没有名称的gitignore类型的文件。
非命令行解决方案:
You can rename a file to ".gitignore.", and it will create ".gitignore"
其他回答
为了防止需要排除子文件夹,可以使用**通配符排除任何级别的子目录。
**/build/output/Debug/
默认情况下,当文件名为.gitignore.txt时,Windows资源管理器将显示.gitignore。
Git不会使用.gitignore.txt
您不能将文件重命名为.gitignore,因为Windows资源管理器认为它是一个没有名称的gitignore类型的文件。
非命令行解决方案:
You can rename a file to ".gitignore.", and it will create ".gitignore"
您可以创建包含以下内容的“.gitignore”文件:
*
!.gitignore
这对我有用。
在项目目录中创建一个名为.gitignore的文件。通过在文件中输入目录名(附加斜线)忽略目录:
dir_to_ignore/
这里有更多信息。
我认为问题是你的工作树是这样的:
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。我只是懒得处理这个测试用例。)
推荐文章
- 如何设置一个git项目使用外部回购子模块?
- Git同时在两个分支上工作
- 如何在Visual Studio中删除未推送的外向提交?
- Git在两个不同的文件之间的差异
- 我如何使用vimdiff来解决git合并冲突?
- 如何将更改提交到另一个预先存在的分支
- 为什么使用'git rm'来删除文件而不是'rm'?
- 我如何安装imagemagick与自制?
- 致命:git-write-tree:错误构建树
- Git克隆远程存储库的特定版本
- git隐藏的意图用例是什么?
- 如何使用Windows命令行更改目录
- 从远程Git存储库检索特定的提交
- 如何配置git bash命令行补全?
- 我如何迫使git拉覆盖每一个拉上的一切?