我刚刚在我的新项目的根上做了一个git初始化。

然后我创建了一个.gitignore文件。

现在,当我输入git status时,.gitignore文件出现在未跟踪文件列表中。为什么呢?


当前回答

我认为在某些情况下,忽略.gitignore是非常有用的。例如,当您有多个团队或一个大型团队在同一个代码库上工作时。在这种情况下,你需要有一些约定,其中一个约定是关于git回购时忽略的内容。它通常是关于忽略IDE或OS创建的文件和目录,一些生成的日志等。

然而,有一种力量倾向于对.gitignore文件进行非常规的更改。.gitignore文件可以被不负责任的人、错误地、被使用的工具或在其他情况下进一步更改。

为了有一个反作用力,我们可以这样做:

首字母。gitignore应该反映团队的惯例, 在它被压入之后,.gitignore应该通过添加.gitignore条目来确保安全,并再次压入该更改。.gitignore文件以这种方式被“密封”。

“密封的”.gitignore文件可以在本地进行更改,而无需将更改者传播给团队的其他成员。然而,如果一个变更在整个团队中得到了广泛的同意,那么就有可能“打开”它,改变它,然后再“密封”它。那不可能是错误的,只能是有意的。

可悲的是,你不能百分之百地保护自己不做蠢事,但这样做你已经尽了一切努力来防止蠢事发生。

如果你的团队规模相对较小,但拥有非常优秀的专业人员,那么这就不重要了,但即使是那些人也会因为少担心一件事而感激不尽。

当你不能对基础设施设置做任何事情时,使用.git/info/exclude很酷,只是覆盖你自己的一个**以免出错。

从正确和错误的角度来看,我赞成在。gitignore文件中加入。gitignore条目,让每个人都可以自由地在本地做任何他们想做的事情,但不侵犯他人。

其他回答

最终用户很可能希望Git忽略”。gitignore”文件,因为Eclipse创建的IDE特定文件夹可能与NetBeans或其他IDE不同。因此,为了保持源代码与IDE的对立性,很容易忽略一个自定义git,因为每个开发人员可能使用不同的IDE,而不与整个团队共享。

你也可以有一个全局用户git .gitignore文件,它会自动应用到你所有的回购。这对于IDE和编辑器文件很有用(例如,Vim的swp和*~文件)。更改目录位置以适合您的操作系统。

添加到~/。gitconfig文件: (核心) Excludesfile = /home/username/.gitignore 创建一个~/。Gitignore文件,文件模式被忽略。 将您的点文件保存在另一个repo中,以便您有备份(可选)。

任何时候你复制,初始化或克隆一个repo,你的全局gitignore文件也将被使用。

你可以在。gitignore文件中加入一行。gitignore。这将导致git忽略.gitignore文件。我不认为这是个好主意。我认为ignore文件应该被版本控制和跟踪。我只是为了完整起见。

如果有人已经在你的回购中添加了.gitignore,但你想对它做一些更改,并忽略这些更改,请执行以下操作:

Git update-index——assume-unchanged .gitignore

源。

我认为在某些情况下,忽略.gitignore是非常有用的。例如,当您有多个团队或一个大型团队在同一个代码库上工作时。在这种情况下,你需要有一些约定,其中一个约定是关于git回购时忽略的内容。它通常是关于忽略IDE或OS创建的文件和目录,一些生成的日志等。

然而,有一种力量倾向于对.gitignore文件进行非常规的更改。.gitignore文件可以被不负责任的人、错误地、被使用的工具或在其他情况下进一步更改。

为了有一个反作用力,我们可以这样做:

首字母。gitignore应该反映团队的惯例, 在它被压入之后,.gitignore应该通过添加.gitignore条目来确保安全,并再次压入该更改。.gitignore文件以这种方式被“密封”。

“密封的”.gitignore文件可以在本地进行更改,而无需将更改者传播给团队的其他成员。然而,如果一个变更在整个团队中得到了广泛的同意,那么就有可能“打开”它,改变它,然后再“密封”它。那不可能是错误的,只能是有意的。

可悲的是,你不能百分之百地保护自己不做蠢事,但这样做你已经尽了一切努力来防止蠢事发生。

如果你的团队规模相对较小,但拥有非常优秀的专业人员,那么这就不重要了,但即使是那些人也会因为少担心一件事而感激不尽。

当你不能对基础设施设置做任何事情时,使用.git/info/exclude很酷,只是覆盖你自己的一个**以免出错。

从正确和错误的角度来看,我赞成在。gitignore文件中加入。gitignore条目,让每个人都可以自由地在本地做任何他们想做的事情,但不侵犯他人。