如何在Web托管帐户上设置版本控制存储库?
我想在不同的计算机上工作自己的项目...在笔记本电脑上的路上,在台式机上,甚至在工作中.我想保持数据相对私密,我不想在Github上支付私人存储库. 理想情况下,我将在我的网络主机上托管一个git或svn存储库,或类似的东西.我可以做吗?还是有基于Web服务的版本控制系统可以完成相同的事情? 解决方案 我使用 beanstalk 用于我的开发(SVN).您也可以尝试 github (很明显). 其他解决方案 我也使用beanstalk大约2个月了,我对此感到非常满意,它也具有集成到灯塔的集成,因此我可以关闭对SVN的错误/问题. 我还托管了本地VPS服务器,我在其上安装了VisualSVN服务器,它的工作原理很棒,但在昂贵的一面. 其他解决方案 我的托管提供商Dreamhost提供了颠覆存储库(以及TRAC).但是,如果您可以安装存储库,则主要取决于您的托管提供商以及它们允许的功能.有些使它变得容易,有些则不允许您安装所需的设置来设置一个.
0 2023-11-30
编程技术问答社区
避免在生产服务器上每次拉动时要求提供密码的正确方法
我从bitbucket克隆了存储库,但用我的用户名 git拉username@repository.blah 现在,它每次都要求我提供我的Bitbucket密码.现在其他开发人员也想拉动,但是我该怎么做才能使每个开发人员变得容易. 解决方案 您应该使用ssh(不是https): git clone git@bitbucket.org:/.git 使用ssh-keygen实用程序创建SSH键文件(您可能回答yes的所有问题).将公共密钥内容添加到用户 - > Butbucket设置 - > ssh键. 现在您可以使用任何Git命令而无需输入密码 其他解决方案 您可以使用git config --global credential.helper manager.因此,您需要第一次输入用户名和密码,然后下次不会要求密码.
0 2023-11-30
编程技术问答社区
将CodeIgniter(或任何PHP项目)部署到现场?
从本地机器到实时网站,部署Codeigniter项目(或任何PHP项目)的理想方式是什么?我一直在使用Subversion检查和更新现场站点的代码,现在已经有一段时间了.但是有些人说这种做法不好,因为您不需要现场现场的SVN元数据.我还阅读了几篇文章,他们使用Capitrano来部署PHP项目.您在PHP项目部署中的实践是什么? 解决方案 我将phing用于我所有的建筑需求. 我已经创建了几个任务,例如,产品,分期,调试.当我想将所有数据推向生产服务器时,我只使用 phing prod .这将从我的存储库中签出所有代码,进行一些配置更改,运行所有静态文件,例如CSS和JavaScript,通过minifier等. 有关phing的更多信息: 在 其他解决方案 我问了一个类似的问题,很多人似乎喜欢phing: 您首选的PHP部署策略是什么? 我看了一下,配置文件非常令人生畏.我有兴趣听到有关此主题的更多信息.
0 2023-11-30
编程技术问答社区
可部署的基于维基的文件
我正在寻找一个由开发人员编辑的Wiki项目,并且可以具有评论和历史记录,就像其他所有内容一样,但也具有以下功能: 一种在直觉接口中标记或版本Wiki的一种方法,任何合格的开发人员都可以使用 一种部署Wiki的标记或版本的快照,可以选择任何编辑历史记录. 用例是让一组开发人员能够在项目的生命周期中流畅地更新文档并具有必要的内部对话框,但随后有一种方法可以以精致的方式包装文档,以便将其包括在内使用商业产品. 理想的解决方案,如果该软件存在于某个地方,则将具有某种类型的设施,以便您可以说,PDF输出发送到商业打印机或有一种方法,或者可以根据定制模板进行自定义模板部署. 那里有任何Sage开发人员知道此类软件吗? 解决方案 我会看一下Github的 gollum ,这似乎非常适合您的要求.他们还支持一堆不同的标记替代方案,Markdown和Markdown和Textile都将转换器带到PDF(并且可能是一个其他标记选择也很少).
0 2023-11-30
编程技术问答社区
DVCS、数据库和用户生成的内容?
我想创建一个开发环境,我的中央存储库托管在Bitbucket/github之类的某个地方.然后在我的开发服务器和生产服务器上,我将拥有克隆. 我将研究新功能,并在开发服务器上进行本地提交.一旦进入可以将其推入生产的阶段,我将从开发克隆到中央存储库,然后从中央存储库推到生产服务器. 所有这些都是有道理的,但是有两个我不知道的部分. 如何将数据库和用户生成的内容(文件上传等)保持在同步? 中 另外,当我在生产服务器上进行下一个拉动+更新时,用户生成的内容会被删除吗? 其他人如何解决这个问题? 其他信息: 这将是MySQL/PHP网站.我还计划使用MVC框架(可能是蛋糕),但我还没有牢固地决定要使用哪种DVC,但到目前为止,我在想使用哪种DVC.不确定此信息是否重要,但添加以防万一. 解决方案 这就是为什么DVC并不总是适合 Release Management 的正确工具:一旦您的代码在服务器远程存储库上,您应该拥有另一种" Rsync"机制,可以:
0 2023-11-30
编程技术问答社区
Git忽略的文件,但不删除它
我有一个使用git的网站在版本控制下.我有一个基本上设置的系统,可以自动将我的master分支的更改部署到我的生产服务器.也就是说,我的存储库中有一个网络钩子,它触发了一个PHP脚本,该脚本本质上在服务器上启动A git pull以拉下更改. 我的问题在于我当前有一个使用GIT跟踪的配置文件(config.php).我自己和另一个开发人员想要拥有与服务器上文件不同的文件,因此我们要告诉Git停止跟踪此文件,只是假装它不存在. 我们首先决定使用一个不太重要的文件进行测试,因此我们在.gitignore文件中添加了test.php,希望这能解决问题. git仍在跟踪文件,因此我尝试运行git rm --cached test.php以停止跟踪文件.这似乎有效,所以我们承诺并推动了我们的改变. 令我惊讶的是,当我们的部署脚本启动了服务器上的拉力时,我们发现该文件已从生产中删除.感谢,已删除的test.php并不重要. tldr; 我如何告诉git忽略它当前跟踪的文件,未
0 2023-11-30
编程技术问答社区
版本控制和发布管理
是否有所谓的"版本控制系统",也支持实际的发布管理/部署? 我曾经工作过的大型机商店,拥有一个自动发布管理工具,不仅可以控制对来源的并发修改,而且还照顾了运行的编译器,预编译器,数据库绑定的实用程序等,使其成为我们的还完全自动部署工具. 我的理解是,"更现代"的版本控制工具仅支持源管理部件.理解正确吗? 解决方案 这绝对是不正确的.任何现代版本的控制工具都支持前和邮政提交挂钩,这时您可以运行所需的任何代码. 在《颠覆》中,我们每次开发人员在代码中签入时都会使用后固定挂钩将应用程序的副本部署到开发服务器. 在我们的实际生产服务器中,我们的代码可以验证,然后部署稳定的次要版本标签,因为它们是由发行版管理器致力于存储库的稳定版本. 其他解决方案 版本控制与发布管理或部署无关,因此VCSS也不会尝试这样做是有道理的. 我在这个领域看到的是构建或这样,每个工具都可以保持简单. [编辑]添加了CI服务器的值: 它可以分析构建脚本的输出,并在邮
0 2023-11-30
编程技术问答社区
Git哲学:如何让 "主 "分支到 "生产 "分支?
可以肯定的是我误解了git. 我的目标 我在Github上有一个私人仓库,上面有一个"主"分支. 我也想拥有一个生产分支,我将把我的所有更改从主机推到. 然后,我想将其连接到Azure,并告诉Azure自动从生产分支部署. 问题 我如何最好地完成此操作?最初,我认为这是与" Git推"一起使用的,但我相信这是针对远程存储库的,因此我现在想知道最好的做法是将"主"分支合并到"生产"分支机构. ,或者,我在想整个事情吗? 谢谢 - 期待将我的颠覆日放在我身后. 解决方案 (因为我想共享"大量信息";)...) 在谈论master和production分支时,您正在查看的内容是合并工作流. 您可以使用所需的任何版本控制系统工具来定义所需的工作流程,并且在开发生命周期管理方面,此TFS(Team Foundation Server)设置中描述了最完整的合并工作流集集之一,详细介绍在其标准分支计划中的服务分支". 更靠近git, git
0 2023-11-30
编程技术问答社区
在生产中运行Strapi和版本控制同步问题
我想知道在生产中运行Strapi的最佳实践是什么.我注意到添加内容类型时,Strapi会生成新文件.这意味着生产环境的文件将与版本控件不同步.是否有建议的部署过程?在对管理员进行更改后,我应该从生产到我的GIT回购的更改? 解决方案 主要由content-type-builder制造的文件生成,其他设置在生产模式下被禁用 node_env = production 管理面板应该已经建立在产品上,因此您仅根据给定的数据结构将必要的数据添加到DB中. tltr : 总结您的问题的答案,从github.com/strapi/strapi/issues/1986: emadicio 在2018年9月20日评论 如果您使用 node_env = production 运行应用程序,您会注意到实际编辑或创建文件的插件已禁用.因此,这意味着您不能在prod 中创建或编辑内容类型 downloaddave 在2018年9月22日评论: 我在本地部署了str
0 2023-11-30
编程技术问答社区
在一个Git分支中保留特定文件的不同内容
i有一个config.php,在不同分支中的内容中,该config.php例如testing和master. 我在另一个问题中问(避免从主人那里合并文件使用git )如何防止此文件合并. 但我想知道,这是正确的方法吗? 我相信这是一个很常见的用例,可以在不同的环境中具有不同的配置文件,并且您希望配置保持跟踪,对 解决方案 这样做的经典方法是拥有一个称为 config.yml-dist 的默认配置文件(让我们假装您的原始文件称为 config.yml );您在.gitignore中添加原始文件,并且仅版本 dist 一个. 部署应用程序或重新粘结项目后,只需cp config.yml-dist config.yml,然后更改所需的设置. 我在PHP 行业中遇到的许多人使用了这种方法. 但是,我有更多的东西,我会发现更清洁:使用环境变量. 示例: username: password:
0 2023-11-30
编程技术问答社区
如何对部署项目文件的变化进行差异/合并
我目前正在使用CVS(不是我的选择),并且有几个分支.我正在尝试合并两个分支机构,但是部署项目文件的冲突我在不花费大量时间的情况下无法解决.对项目文件的琐碎更改会导致该项目文件的急剧更改 - 我猜想了GUID更改(进行项目文件更改,获得干净的副本并进行相同的更改似乎产生了两个相当不同的项目文件) 因此,我需要确定所做的所有实际更改,以便我可以手工复制它们(因为更改日志还不够详细). 是否有任何项目文件差异工具可以考虑更改的GUID/职位? 解决方案 您可以首先使用外部差异工具来解决差异,然后报告实际差异(而忽略不同位置的相同指导). 例如, (来源:如果您忽略了那些移动的块(这是默认设置),则可以专注于实际差异并报告所需的修改. 如果这些GUIDS不断变化,您可以定义正则方式模式,以帮助Winmer忽略这些GUID(例如,默认情况下它可以忽略所有whitespace),从而帮助其专注于文档的其余部分. .
0 2023-11-30
编程技术问答社区
如何对部署项目文件的变化进行差异/合并
我目前正在使用CVS(不是我的选择),并且有几个分支.我正在尝试合并两个分支机构,但是部署项目文件的冲突我在不花费大量时间的情况下无法解决.对项目文件的琐碎更改会导致该项目文件的急剧更改 - 我猜想了GUID更改(进行项目文件更改,获得干净的副本并进行相同的更改似乎产生了两个相当不同的项目文件) 因此,我需要确定所做的所有实际更改,以便我可以手工复制它们(因为更改日志还不够详细). 是否有任何项目文件差异工具可以考虑更改的GUID/职位? 解决方案 您可以首先使用外部差异工具来解决差异,然后报告实际差异(而忽略不同位置的相同指导). 例如, (来源:如果您忽略了那些移动的块(这是默认设置),则可以专注于实际差异并报告所需的修改. 如果这些GUIDS不断变化,您可以定义正则方式模式,以帮助Winmer忽略这些GUID(例如,默认情况下它可以忽略所有whitespace),从而帮助其专注于文档的其余部分. .
0 2023-11-30
编程技术问答社区
为在同一项目的不同组件上工作的多组开发人员(不在同一地点)制定svn部署策略
我们的项目是一个支持我们几十个网站的内容管理系统.开发小组开始小,从一个位置开始,我们处理了相当标准的编码/部署策略. 我们用树干编码,并坚持干净的后备箱.每隔几天,我们就会标记行李箱并部署到测试服务器.如果一切都解决,我们将部署到生产和继续. 效果很好,直到团队成长为止.我们经常面临标记的修订的情况,在生产之前需要解决问题.当负责这些修复程序的开发人员正在研究这些修复程序时,我们还有其他开发人员对中继线进行更改.原始开发人员的修复程序完成后,添加的新提交将必须进行乘车,进一步延迟构建,因为现在需要进行其他验证. 为了纠正这一点,我们创建了一个严格用于发行的单独的中继线.人们将在主要的后备箱中工作,然后询问项目经理或开发导致将其更改合并到发行行李箱中. 这持续了一段时间,直到团队变得更大,更加不相交.我们有3-5个人在4个地理位置工作的团队 - 有些在相同的组件上,有些则在不同的组件上具有不同的优先级和发布时间表.这几乎是一项全职工作,成为管理建筑物的人的噩梦.
0 2023-11-30
编程技术问答社区
为什么git subtree会丢失提交?
我只是在我的主分支上ran git subtree split,但是子树(dist分支)缺少master分支上的最后两个投入.我不确定在这里做什么.我以前从未遇到过.它总是没有问题. 这是我的github网络图的样子(不包括dist): 来自主分支我运行git subtree split -P dist -b dist. 如果我从dist分支中运行git log,则显示最新提交是6d1620a. 17c1f31和33dfc67在哪里? 有人知道这里发生了什么吗? 更多的详细信息,特定于我的方案 我正在使用Yeoman生成的项目使用的部署方法.基本上意味着我有一个整体项目文件夹,其中有一个dev(或app)目录,其中所有开发都完成了,并且该项目是构建项目的位置(通过GULP构建过程).因此,要部署我只是将dist目录拆分为自己的分支,然后将其推到实时服务器. 看起来像这样的东西: gulp git checkout master git me
0 2023-11-30
编程技术问答社区
如何在一个大型Lotus Notes项目中加入版本控制(Git)。
我们正在根据Domino Server 8.5.3运行的Lotus Notes维护一个大型网站.最近,我们已经厌倦了项目中缺乏源头控制,因此我们认为我们会尝试将事情付出一些.但是如何做这件事? 由于我无法进入这里的各种原因,我们无法在开发PC上本地运行我们的应用程序.我们只能在开发,分期和生产服务器上运行它们. (不幸的是,在开发PC上运行的本地Domino服务器不是一个选项.) 这个图说明了当前情况: 在生产(和分期)中,有多个具有相同功能的网站.它们基本上是具有相同设计的同一站点,但内容不同.每个站点都包含许多注释数据库(新闻,档案,讨论等).这些数据库的设计对于所有站点都是相同的,因此它们都从相同的一组主模板(NewStem Plate,ArchiveTemplate,deabletemplate等)继承了设计. 主模板的一组复制品位于开发服务器上.当我们部署新功能时,所需的代码更改将添加到DEV上的模板上.服务器(以下更多详细信息).然后将这些模板复制到登
0 2023-11-30
编程技术问答社区
Magento暂存和生产
我已经与Magento一起开发了一段时间,事情开始变得有意义,变得更加故意和有条理.尽管一个方面似乎仍然很混乱 - 将网站从开发转移到生产. 任何人都可以为此提供一些好的流程吗?到目前为止,我一直在导出/导入开发数据库,​​复制源文件,清除测试订单,客户等,然后更改基本URL,HTACCESS文件等. 这一切似乎有点混乱和错误.做任何经验丰富的Magento开发人员都可以为此任务提供一个良好的过程. 解决方案 我的过程通常围绕源控制存储库(在我的情况下)进行管理,这使事情变得更加容易(或者实际上是可能的……).这个想法是将所有可能的东西保持在存储库中,并使用SVN更新和标签来发布更改. local.xml :我将此文件移动到local.xml.dist中,而忽略了存储库中的实际local.xml文件.这使您可以在安装上使用不同的数据库凭据和主机,而无需污染代码库. 其他忽略:查看此问题有关数据库中应忽略的更多文件.基本上,应将环境独特的任何内容都避免使用版
0 2023-11-30
编程技术问答社区
如何用maven从subversion获取修订号?
我想将修订号放在WebApp的主页上,我该如何使用Maven? P.S.它的两个问题是如何获取修订号以及如何将其写入项目中的选定文件. 解决方案 Maven构建编号插​​件是必经之路.在这里如何使用它的一个示例: usage.html 您将与Maven Jar插件一起将其一起使用,以打印SVN提交号码 清单. 这是一个更好的解决方案,而不是使用包含SVN提交数字的文件,因为这添加了比真正必要的更多的活动部件. 其他解决方案 如果您正在使用颠覆,则可以使用此插件将SVN修订号作为Maven属性 可用 http://code.google.com/p/maven -svn-revision-number-plugin/ 我将其与Jar插件相结合,以将SVN修订添加到清单中的SVN. 其他解决方案 提供了SVN命令行应用程序,您可以使用以下代码 - 我们在项目中使用它(略有更改)
0 2023-11-30
编程技术问答社区
如何避免在版本控制中存储密码?
您使用哪种策略避免将密码存储在版本控件中? 当前,我有保存在三个不同文件中的开发/测试/生产密码,并且在部署过程中使用了适当的文件.所有这些都致力于版本控制,但是我对此并不满意,因为并非所有开发人员都需要知道这些密码(尤其是外包密码,这些密码仅在其项目持续时才访问,这只有一个月). 在数据库中存储密码不是一个不错的选择: 我需要在春季上下文(Java App)初始化期间的大多数数据,并且我不想构建脚手架以连接到一个数据库,然后连接到数据库的其余部分并初始化应用程序的其余部分 某些密码仅与部署相关;密码以访问不同的服务器,钥匙店等;这些是应用程序启动后无法加载的东西,因为它根本没有加载 我正在考虑将部署配置从开发人员计算机转移到专用的计算机,该计算机从版本控件中检查代码并运行构建/部署脚本,但是我不确定是什么是最好的方法. 我还需要说我不想要最终的安全性:我只想避免在每个开发人员的磁盘上使用密码并使之变得太容易. 所以我要您的经验/最佳实践.你怎么做?
0 2023-11-30
编程技术问答社区
你是如何维护开发代码和生产代码的?
在维护代码时,遵循什么最佳实践和规则是什么?只有在开发部门中只有生产准备代码是一个好习惯,还是应该在开发分支中获得未经测试的最新代码? 你们如何维护开发代码和生产代码? 编辑 - 补充问题 - 您的开发团队是否遵循" As-as-soon-as-as-as-assible and Offen-even-fen-if-in-fin-fin-code-contains-minor-bugs-or-is-Incomplete"协议或在将代码提交开发分支时,"仅实用完美代码"协议? 解决方案 更新2019: 这些天,在使用git的上下文中可以看到这个问题,并且使用该 dristabried 开发 a href =" https://stackoverflow.com/a/2705286/6309"> workflow (合作主要)显示了一般最佳实践: master是随时准备部署到生产中的分支:下一个版本,其中一组选定的功能分支在master中合并. dev(或I
App.config只适用于我的开发者机器
我可以创建仅适用于我的开发器计算机的app.config或web.config文件,而不是使用默认的配置文件,这些文件被检查到源控件中? 解决方案 您可以为每个环境提供一个app.config,如果您要寻找的是.尝试这个: 其他解决方案 我将使用您的app.config或web.config. 例如,在您的web.config中,您将拥有: ,然后在config/localdev.config中,您将拥有 您还将使用
0 2023-11-30
编程技术问答社区