2017-07-10 185 views
0

当我从GitLab复制回本地代码时,它与源代码一起还在根文件夹中调用了一个文件.gitignore。 还有一个名为.git的文件夹,其中包含info中的一个目录,其中包含一个名为exclude的文件。 哪一个是忽略(对我来说忽略和排除意味着相同)?这是忽略还是排除?.git/info/exclude和.gitignore之间的区别

+1

忽略什么vs排除什么?这两个文件都有其用途,但您不清楚您要查找的目的。 –

+0

你不应该碰到'.git'中的任何东西。 '.gitignore'是你正在提供的东西。 '.git'文件不应该被手动修改。 –

+1

@MadPhysicist我认为这个问题很清楚。 newb7777只是想知道两个不同文件的目的是什么。 – klutt

回答

-1

虽然问题不是哪个更好“的.gitignore”或‘信息/排除’,有一点要注意的是‘gitignore’被瞬间比排除。它在声明过程中立即生效,而克隆存储库时“gitignore”在开始时生效。

4

它们都包含“忽略规则” - 匹配未跟踪文件应忽略的文件名模式。

区别在于.gitignore中的规则是通过回购共享的,而info/exclude中的规则不是。因此,如果由于某种原因,您需要在本地忽略单个克隆中的某些路径,则可以使用info/exclude;但是,如果路径应该所有克隆被忽略,你会用.gitignore

+0

要清楚:克隆repo *时获得的'info/exclude'文件不是*原始文件中相应文件的副本。它是由git新创建的,用于放置特定于新克隆的规则。 –

+0

是的,这是正确的。当我从远程回购克隆回购时,排除是新创建的。 '.gitignore'是GitLab中的一个。 – newb7777

+0

如果你有两个文件在本地repo中,'.gitignore'和'info/exclude'哪一个优先?当您将其他人存储库克隆到本地存储库并使用排除列表更新了您的“info/exclude”文件时,可能会出现这种情况。 – newb7777