2017-07-18 107 views
-1

你好,我是新来的混帐,我不能完全理解.gitignore。gitignore如何工作?

假设我目前有一个Master文件夹,里面有一个报告文件夹,我并不需要跟踪。

Master Folder 
| 
+-- file 1 
|  
+-- dir 2 
| | 
| \-- file 2.1 
|  
+-- dir 3 
| | 
| +-- file 3.1 
| \-- file 3.2 
|  
+-- Reports 
| | 
| +-- file 4.1 
| \-- file 4.2 

现在,我想修改该文件夹,以便我在仓库克隆主文件夹。报告文件夹是否也被克隆?

在我编辑时,有人在报告文件夹中添加或更改了文件。

完成编辑后,我需要将主文件夹更新为我更新的内容。如果我推动我的更改,它会影响主文件夹中的报告文件夹?

+0

请参阅文档上的[忽略文件和文件夹](https://stackoverflow.com/documentation/git/245/ignoring-files-and-folders)主题。 - 你真的尝试过吗?在问这个问题之前,你读过关于忽略文件的任何内容吗? – poke

+0

您似乎也误解了Git的工作原理:更改不会自动添加到您的存储库。只有您添加的那些更改,然后* commit *才会将其存储到存储库中,并稍后进行克隆。考虑阅读[Git Book](https://git-scm.com/book/en/v2/)。 – poke

回答

0

您必须创建的.gitignore命名您的主文件夹中的文件,并在您的.gitignore文件中写入以下行:

Reports/ 
现在

,如果你把你的主文件夹,然后git会不会跟踪报告夹。

+0

更好地编写'/ Reports' –

1

在将报告提交给主设备之前,请确保在项目的根目录中创建了一个新的.gitignore文件。完成此操作后,将文件夹或文件的路径包含到gitignore文件中。确保每行指定一个路径。

在你的情况下,如果你想忽略你的报告文件夹中的所有文件,那么把下面的内容添加到.gitignore文件中。

/Reports 

如果要排除特定的文件,你可以这样做

/Reports/*.docx 

假设THST上的报告是混合的文件扩展名,但要忽略从文件夹中的所有Word文件报告。

关于克隆,如果有人试图克隆该项目,他将不会得到任何报告文件,因为他们没有在第一时间提交。此外,在Reports文件夹中做任何更改都不会被git跟踪。

0

在文件夹的根盘中创建一个新的.gitignore文件,并添加要从中排除的文件扩展名或目录路径。 对于前:

.idea 
.DS_Store 
*.iml 
src/main/resources/config.config 
src/main/resources/conf/local 
/target 
screenshots/ 
/Reports 

喜欢聪明人,你可以添加文件名或要排除的扩展。 gitignore文件中的每一行指定一个模式。在决定是否忽略路径时,Git通常会检查来自多个来源的gitignore模式,并按以下优先顺序从高到低(在一个优先级内,最后一个匹配模式决定结果):

模式读取从那些支持它们的命令的命令行。

从a。gitignore文件放在与 路径相同的目录中,或者在任何父目录中,文件(直到工作树的顶层)中的模式被低层文件中的那些 覆盖,直到包含文件。这些 模式相对于.gitignore文件的位置相匹配。 A 项目通常在其存储库中包含这样的.gitignore文件, 包含作为项目构建的一部分生成的文件的模式。

从$ GIT_DIR/info/exclude中读取的模式。

从配置变量core.excludesFile指定的文件读取模式。