您好我是git的新手,我无法完全理解.gitignore。
所以,让我们说我目前正在制作一个主文件夹,里面有一个我真的不需要跟踪的报告文件夹。
Master Folder
|
+-- file 1
|
+-- dir 2
| |
| \-- file 2.1
|
+-- dir 3
| |
| +-- file 3.1
| \-- file 3.2
|
+-- Reports
| |
| +-- file 4.1
| \-- file 4.2
现在,我想修改文件夹,以便在我的存储库中克隆主文件夹。报告文件夹是否也被克隆了?
在我编辑时,有人在报告文件夹中添加或更改了文件。
完成编辑后,我需要将主文件夹更新为我已更新的内容。如果我git push我的更改,它会影响主文件夹中的Reports文件夹吗?
答案 0 :(得分:3)
在将报告提交到master之前,请确保在项目的根目录中创建新的.gitignore
文件。完成此操作后,将文件夹或文件的路径包含到gitignore文件中。确保每行指定一个路径。
在您的情况下,如果您要忽略Reports文件夹中的所有文件,请将以下内容添加到.gitignore
文件中。
/Reports
如果要排除特定文件,可以执行类似
的操作/Reports/*.docx
假设报告是混合文件扩展名,但您想忽略文件夹中的所有word文件报告。
关于克隆,如果有人试图克隆项目,他就不会获得任何报告文件,因为它们没有在第一时间提交。此外,在报告文件夹中进行任何更改都不会被git跟踪。
答案 1 :(得分:0)
您必须在名为.gitignore的主文件夹中创建一个文件,并在.gitignore文件中写下以下行:
Reports/
现在如果您推送主文件夹,那么git将不会跟踪您的Reports文件夹。
答案 2 :(得分:0)
在文件夹的根目录中创建一个新的.gitignore文件,并添加要从中排除的文件扩展名或目录路径。 例如:
.idea
.DS_Store
*.iml
src/main/resources/config.config
src/main/resources/conf/local
/target
screenshots/
/Reports
同样,您可以添加要排除的文件名或扩展名。 gitignore文件中的每一行都指定一个模式。在决定是否忽略路径时,Git通常会检查来自多个源的gitignore模式,具有以下优先顺序,从最高到最低(在一个优先级内,最后一个匹配模式决定结果):
从命令行读取的模式支持那些支持它们的命令。
从与.gitignore文件相同的目录中读取的模式 路径,或在任何父目录中,具有更高级别的模式 文件(直到工作树的顶层)被这些文件覆盖 在较低级别的文件中,直到包含该文件的目录。这些 模式相对于.gitignore文件的位置匹配。一个 项目通常在其存储库中包含此类.gitignore文件, 包含作为项目构建的一部分生成的文件的模式。
从$ GIT_DIR / info / exclude。
中读取的模式从配置变量core.excludesFile。
指定的文件中读取的模式