- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有一个在 Visual Studio 2012 中开发的 ASP.NET、MVC4、C# 应用程序。到目前为止,我已使用 VS Publish 工具成功部署到 Azure 网站。
我现在已成功在 Azure 网站上设置 Git 发布并将其与 GitHub 存储库链接。我已经在本地计算机上初始化了一个存储库,并将全部内容推送到 GitHub 存储库。 Azure 立即按照应有的方式将这一切撤回。
现在,我预计在没有 .gitignore 文件的情况下,这将无法完美工作,我是对的。
所以我的问题是:我应该从存储库中省略本地 Visual Studio 工作目录中的哪些内容? IE。我的 .gitignore 中应该包含什么?
此外,在尝试让应用程序在 Azure 网站上运行时,我还应该考虑其他因素吗?
注释:
1.我仔细看了https://gist.github.com/2589150但它似乎与我在 VS 工作目录中看到的不符。
2.https://github.com/github/gitignore/blob/master/CSharp.gitignore似乎更近了,我目前正在研究这个问题,试图了解其中哪些部分适用于我的情况。例如,如果我排除 bin/*,则应用程序无法在 Azure 上部署。
更新:
1)我按照@levelnis的建议通过修改我的web.config文件来关闭自定义错误:
<configuration>
<system.web>
<customErrors mode="Off"/>
</system.web>
</configuration>
我发现我的问题是数据库连接字符串不再被 VS Publish 工具转换为 Azure。我必须直接修改它并提交到存储库。
重要提示:通过简单地查看 VS 发布工具在 Azure 上发布的内容(通过使用不同的发布配置文件发布到临时 Azure 网站),我找到了正确的字符串。
这解决了问题并且部署非常顺利。
2)此时我的 .gitignore 文件如下:
# Build Folders obj/ # User-specific files *.user # SQL Server files App_Data/*.mdf App_Data/*.ldf
为了整洁起见,我可能可以删掉更多内容,但这并没有影响通过 GitHub 部署的正确操作,现在实际上工作得非常顺利。
最后,方便的 git 命令用于从存储库中删除文件而不删除它们。几个例子:
git rm -r --cached obj/* git rm -r --cached */*.user
然后在添加、提交和推送之前将它们显然添加到 .gitignore 中。
最佳答案
您的问题可能与没有 .gitignore 文件无关。最坏的情况是,您会将编译的 dll 包含在存储库的 bin 文件夹中 - 从一般维护的角度来看,这是一个非常糟糕的主意,但从发布到 Azure 的角度来看,这不是一个好主意。
该错误是蓝屏死机还是只是带有该消息的空白屏幕?如果是后者,听起来部署失败了。您可以通过 FTP 访问网站并检查网站文件是否位于应有的位置。您还可以在那里找到一个 Logs 目录 - 它可能包含有助于诊断错误的内容。这是我的项目中的 .gitignore(您的项目可能需要添加更多内容/删除一些位,但至少它会消除 dll 的干扰):
# git ignore file
_ReSharper.*
[B|b]in/
obj/
*.suo
*.user
这不是 Azure 特定的,而是 ASP.NET 特定的。顺便说一句,如果您需要删除已提交的 dll,则需要将 bin 路径添加到 .gitignore 并删除所有 dll
编辑:添加<customErrors mode="Off"/>
- 至少它会告诉你错误是什么
关于c# - 通过 GitHub 将 MVC4 C# 应用程序部署到 Azure。我的 .gitignore 中应该包含什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14164108/
引用the online docs : If the pattern does not contain a slash /, Git treats it as a shell glob pattern
我想让 git 忽略名为“Doxyfile”的文件,我添加了一个 .gitignore 文件,但它仍然会尝试跟踪文件。 我在下面添加了我的步骤,我是否遗漏了一个步骤? $ ls -a .git
我知道有很多这样的问题,但没有人解决我的问题。我想要一些非常简单的东西 - 忽略特定文件夹下除一个文件之外的所有文件和文件夹。这是我尝试的方法: #Ignore public/typings/* #A
我一直在使用 git,但仍然对 .gitignore 文件路径感到困惑。 那么,.gitignore文件中以下两个路径有什么区别? tmp/*public/documents/**/* 我可以理解 t
这可能吗? git update-index --assume-unchanged 不是解决方案,必须跟踪忽略的文件。要么创建子模块。 例如 cat .customgitignore(1|2|3...
我的实际问题 我希望只有目录结构根目录中的 .gitignore 文件会忽略文件,即子目录中的 .gitignore 文件不应忽略文件。 要清楚 我不想 gitignore 其他 .gitignore
当我输入 git status 时,我收到以下消息: Changes not staged for commit: (use "git add ..." to update what will b
$ cat ~/.gitconfig [core] editor = vim excludefiles = /home/augustin/.gitignore $ ca
有没有办法忽略 gitignore 规则但仍然 checkin .gitignore 文件?或者也许我们应该使用不同的实现? 这不是一个关于如何应用 gitignore 规则或“为什么我的规则不能正常
我的目录结构如下: static admin ajax_upload books css font media robots.txt templ
为什么 git 不忽略 .gitignore?这是错误还是功能?我看不出有任何人愿意分享 .gitignore 文件的原因。不得不在 .gitignore 中添加 .gitignore 感觉有点讽刺。
我正在和别人合作一个项目,根目录下有一个.gitignore是提交给git的。如果我想在 root 中创建一个我希望 git 忽略的新文件或目录,但我不想将它放在公共(public) .gitigno
如果我有一个全局的 .gitignore 设置并且项目在 repo 中有 .gitignore,那么 repo 中的那个是否覆盖全局的或者它是否添加规则示例: 如果全局有: *.exe *.ini 并
是否可以将 .gitignore 文件添加到 .gitignore 本身? .gitignore 虽然没用 我不想在编辑的文件中看到它 最佳答案 .gitignore 文件的目的是防止在项目上协作的每
我们在这里进行了一次内部讨论,我们对在包含大量文件的项目(如 CMS)上使用 .gitignore 的最佳实践感到有些困惑。 方法一 方法 1 是有目的地 .gitignore 构建标准的所有文件。这
在 https://github.com/codyc4321/Flashcard-Generator我有一个文件,我想将 HTML 生成器拆分为它自己的函数。 该文件位于 js/main.js 中。此
我正在为 Gr 制作游戏。和我的 friend 一起学习了 12 门编程类(class)。我在本地存储库中有在 Blender 中制作的 3D 模型。 Blender 文件以 .blend 结尾,它也
如果我有set a global .gitignore file我的项目也有一个 .gitignore 文件,它们都包含不同的内容,我的项目中是否使用了它们的条目? 最佳答案 是的。 他们将一起忽略他
在项目根目录中,我有一个 .gitignore 文件,它会忽略除 gitignore 文件之外的所有内容。这是文件的内容: **/* !.gitignore 然后在 implementation/xm
我想知道是否可以在存储库中包含named .gitignore 文件,例如: Composer.gitignore Node.gitignore 以上两个示例都显示在 GitHub 的 gitigno
我是一名优秀的程序员,十分优秀!