我刚刚创建了一个Github存储库,想知道.gitignore文件是干什么用的。我一开始没有创建一个,但添加了一个,因为大多数存储库都有一个。 我需要一个吗?我可以忽略它吗,还是它有用处呢?
当前回答
git的ignore file规则允许你忽略过去提交的文件。当您不想重新提交文件时,可以使用它。基本上 它是一个文件列表,你想让git忽略你的工作目录。
其他回答
有些文件您不希望Git检入。Git将工作副本中的每个文件视为以下三种情况之一:
被跟踪的-一个文件,它已经被预先放置或提交; 未跟踪的-一个文件尚未被暂存或提交;或 ignored -一个Git被明确告知忽略的文件。
被忽略的文件通常是构建的工件和机器生成的文件,这些文件可以从存储库源派生出来,或者不应该提交。一些常见的例子是:
依赖缓存,例如/node_modules或/packages的内容 编译过的代码,例如.o、.pyc和.class文件 构建输出目录,例如/bin、/out或/target 运行时生成的文件,如.log、.lock或.tmp 隐藏的系统文件,如.DS_Store或Thumbs.db 个人IDE配置文件,如.idea/workspace.xml
被忽略的文件在一个名为.gitignore的特殊文件中跟踪,该文件签入到存储库的根目录中。没有显式的gitignore命令:相反,当您有希望忽略的新文件时,必须手动编辑和提交.gitignore文件。gitignore文件包含与存储库中的文件名匹配的模式,以确定是否应该忽略它们。这是一个样品。gitignore文件。 要了解更多细节,请查看这个链接
当你在进行提交时,你不希望意外地包含临时文件或构建特定的文件夹。因此使用.gitignore列出你想要忽略的提交项。
此外,重要的是,git status是最常用的命令之一,您希望git status列出已修改的文件。
你会希望你的git状态列表看起来干净,没有不需要的文件。例如,我更改了a.cp, b.cp, c.cp, d.cp和e.cp,我想让我的git状态列出以下内容:
git status
a.cpp
b.cpp
c.cpp
d.cpp
e.cpp
我不希望git状态列出这样的中间对象文件和文件从构建文件夹更改的文件
git status
a.cpp
b.cpp
c.cpp
d.cpp
e.cpp
.DS_Store
/build/program.o
/build/program.cmake
因此,为了摆脱git状态,列出这些中间临时文件,并意外地将它们提交到repo中,我应该创建一个.gitignore,每个人都这样做。所有我需要做的列出文件和文件夹在.gitignore,我想排除提交。
下面是我的.gitignore,以避免提交不必要的文件
/*.cmake
/*.DS_Store
/.user
/build
.gitignore告诉git应该忽略哪些文件(或模式)。它通常用于避免从您的工作目录提交对其他协作者没有用处的临时文件,例如编译产品、ide创建的临时文件等。
你可以在这里找到完整的细节。
The .gitignore file is a text file that instructs Git to ignore certain files or folders in a project. A local .gitignore file is normally kept in the project's root directory. You can also create a global .gitignore file, which will be ignored in all of your Git repositories if any entries in it are found. To create a local .gitignore file, create a text file and name it .gitignore (remember to include the . at the beginning). Then edit this file as needed. Each new line should list an additional file or folder that you want Git to ignore.
该文件中的条目也可以遵循匹配模式。
*用作通配符匹配 /用于忽略相对于.gitignore文件的路径名 #用于向.gitignore文件添加注释
git的ignore file规则允许你忽略过去提交的文件。当您不想重新提交文件时,可以使用它。基本上 它是一个文件列表,你想让git忽略你的工作目录。
推荐文章
- Github:我能看到回购的下载数量吗?
- 如何配置Mac OS X术语,使git有颜色?
- Visual Studio Code: .git文件夹/文件隐藏
- “node_modules”文件夹应该包含在git存储库中吗
- 为什么git-rebase给了我合并冲突,而我所做的只是压缩提交?
- 如何运行一个github-actions步骤,即使前一步失败,同时仍然失败的工作
- 当我试图推到原点时,为什么Git告诉我“没有这样的远程‘原点’”?
- 在GitHub repo上显示Jenkins构建的当前状态
- 如何从远程分支中挑选?
- 如何查看一个分支中的哪些提交不在另一个分支中?
- 如何取消在github上的拉请求?
- HEAD和master的区别
- GIT克隆在windows中跨本地文件系统回购
- RPC失败;卷度传输已关闭,剩余未完成的读取数据
- 我应该在.gitignore文件中添加Django迁移文件吗?