为什么即使在gitignore中,applicationhost.config仍然被添加到源代码控制中?

14 浏览
0 Comments

为什么即使在gitignore中,applicationhost.config仍然被添加到源代码控制中?

首先,我看到了《在源代码控制中添加.vs\\config\\applicationhost.config》。\n我们在一个团队中工作,Visual Studio会更改applicationhost.config文件中的一些路径。我们需要将其排除在外。在我的.gitignore文件中,我已经添加了以下内容:\n/.vs/config/applicationhost.config\n然而,在每次提交时,这个文件都会再次添加到git中。在VS2015更新2之前,这没有问题,但在此更新之后,git与VS的集成发生了变化,现在它被包含在内。每当我的同事拉取分支的更改时,他们的IIS Express会因为对该文件的更改(它具有针对我的PC本地路径的路径等)而失败,反之亦然。\n我该如何完全从源代码控制中移除该文件?

0
0 Comments

为什么applicationhost.config文件仍然会被添加到源代码控制中,即使已经在.gitignore中忽略了这个文件?

在使用Git进行版本控制时,有时候会遇到某些文件无论在.gitignore文件中如何配置,都会被添加到源代码控制中的情况。这个问题的原因是.gitignore文件只是告诉Git不要将这个文件列为“未跟踪的文件”,但并不能阻止已经被跟踪的文件继续被添加到源代码控制中。

解决这个问题的方法是使用以下命令:

git rm /.vs/config/applicationhost.config

然后将更改提交到代码仓库中。

这个命令会将已经被跟踪的applicationhost.config文件从代码仓库中删除。这样即使.gitignore文件中仍然包含这个文件,Git也不会再将它添加到源代码控制中。

有人可能会担心删除这个文件会对VS产生问题,但实际上删除这个文件并不会对VS造成任何影响。将这个文件添加到.gitignore并从代码仓库中删除是完全安全的操作。

在查找解决方法的过程中,我找到了这个问题的相关讨论:stackoverflow.com/questions/6313126/... 这个问题中提供了更好的解决方案。

总结起来,将不想被添加到源代码控制中的文件添加到.gitignore是一个常见的做法,但有时候Git会忽略.gitignore文件并继续将这些文件添加到代码仓库中。要解决这个问题,可以使用git rm命令将已经被跟踪的文件从代码仓库中删除,然后再将更改提交到仓库中。这样即使文件仍然在.gitignore中被忽略,Git也不会再将它添加到源代码控制中。

0
0 Comments

为什么尽管在.gitignore文件中已经设置,但applicationhost.config仍然会被添加到源代码控制中?

在将applicationhost.config文件添加到.gitignore文件之前,您的代码库中是否已经存在applicationhost.config文件?

如果是这样,您需要使用命令git rm --cached [file]。

.gitignore文件的目的是保持未跟踪的文件未跟踪,因此不会影响您已经跟踪的文件。

编辑:

由于我完全忘记了:

上述解决方案适用于整个代码库,因此所有开发人员都将被迫维护自己的副本。

为了防止git检测到更改,您还应该使用以下命令:

git update-index --assume-unchanged [path_or_file]

如果将来想要重新开始跟踪更改,需要通过以下命令恢复更新:

git update-index --no-assume-unchanged

要查看被标记为--assume-uchanged标志的文件,可以使用以下命令:

git ls-files -v | grep '^[[:lower:]]'

请参阅git ls-files的文档。

我相信这篇博客文章可能更具描述性。

我执行了这些操作,将文件从git中移除。然后我进行了推送,我的朋友进行了拉取,但问题仍然存在。

现在有两个选项:您的朋友可以通过使用相同的指令来维护自己的本地副本,或者您可以通过git update-index --assume-unchanged来更新索引。我将在一秒钟内更新答案。

ğlu我不确定在SO上如何通知,所以以防万一:我已更新答案。希望能有所帮助!

0