Questions tagged «version-control»

版本控制是对文档,程序和其他存储为计算机文件的信息的更改的管理。使用此标记可以标记有关版本控制,VCS比较的用法和适用性的一般问题。对于特定于每个特定VCS的大多数命令和技术,都有特定的标签,应该优先使用。

11
您应该如何从源代码控制构建数据库?
在SO社区Wiki上已经进行了一些讨论,即是否应该对数据库对象进行版本控制。但是,关于创建数据库对象的构建自动化过程的最佳实践,我还没有看到太多讨论。 对于我的团队来说,这一直是一个有争议的讨论点,尤其是因为在评估自动化数据库部署方法的收益和风险时,开发人员和DBA通常具有不同的目标,方法和关注点。 我想听听SO社区的一些想法,这些想法在现实世界中是有效的。 我意识到哪种做法​​真正最好是有些主观的,但是我认为就什么工作进行很好的对话可能对许多人有帮助。 这是我对本主题关注领域的一些预告问题。这些并不是确定的清单,而是帮助人们了解我在寻找什么的起点。 测试和生产环境都应该从源代码控制构建吗? 两者都应该使用自动化来构建-还是应该通过从稳定的最终测试环境中复制对象来构建产品? 您如何处理部署脚本中测试和生产环境之间的潜在差异? 您如何测试部署脚本能否像测试中那样有效地针对生产工作? 哪些类型的对象应进行版本控制? 只是代码(过程,包,触发器,java等)? 索引? 约束? 表定义? 表更改脚本?(例如ALTER脚本) 一切? 哪些类型的对象不应该进行版本控制? 顺序? 补助金? 用户帐号? 在SCM存储库中应如何组织数据库对象? 您如何处理一次性脚本,例如转换脚本或ALTER脚本? 您如何处理从数据库中退出的对象? 谁应该负责将对象从开发提升到测试级别? 您如何协调来自多个开发人员的更改? 您如何处理多个系统使用的数据库对象的分支? 可以合理地对此过程进行哪些例外(如果有)? 安全问题? 数据是否涉及身份识别问题? 不能完全自动化的脚本? 您如何使流程具有弹性和可执行性? 给开发人员报错? 遇到意外的环境问题? 为了灾难恢复? 您如何使决策者相信DB-SCM的优势确实证明了成本合理? 传闻? 行业研究? 行业最佳实践建议? 呼吁公认的当局? 成本效益分析? 在此模型中,谁应该“拥有”数据库对象? 开发人员? DBA? 数据分析师? 超过一个?

12
提交消息应该使用现在时还是过去时?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 3年前关闭。 改善这个问题 那么,您认为哪个更好,更直观? Fixed the XXX bug in YYY Fix the XXX bug in YYY Fixes the XXX bug in YYY Fixing the XXX bug in YYY 请提供您的理由。请注意,我是从您的总体观点出发,这意味着您不应尝试将其与首选的svn / cvs工具或编程语言相关联,而应将其视为应该/可以应用于任何工具和编程语言的事物。

3
从拉取请求中删除已修改的文件
我目前在请求请求中有3个修改过的文件(没有新文件)。 我想从拉取请求中删除其中一个文件,以便拉取请求仅包含对两个文件的更改,并使第三个文件保持其原始的原始状态。 我尝试了几件事(签出文件的原始版本等),但在PR中它仍显示为更改后的文件。 有针对这个的解决方法吗?


10
您可以“忽略” Perforce中的文件吗?
有时我会使用Perforce的P4V IDE中的“协调离线工作...”功能来同步与P4软件仓库断开连接时正在处理的所有文件。它启动另一个执行“文件夹差异”的窗口。 我有一些我永远不想检入源代码管理的文件(例如在bin文件夹中找到的文件,例如DLL,代码生成的输出等)。是否有一种方法可以过滤掉那些文件/文件夹,使其不显示为“ new”(可能是)添加。它们往往使我真正感兴趣的文件列表变得混乱。P4是否具有Subversion的“忽略文件”功能的等效功能?

4
git:切换分支而不需要拆卸头
我在github上有一个存储库,其中有一个主要分支(master)和一个用于一些实验性工作的分支。我做了一些提交,并将其推送到实验分支,一切都很好。 现在,在另一台计算机上,我尝试克隆我的存储库(git clone repository),然后切换到实验分支(git checkout branchname),但是每次这样做,我的头就会分离,并且无法推送更改。我究竟做错了什么?我感觉到我在某个地方缺少基本的git概念,但是阅读随机的git手册页并没有给我任何线索。 我是git的新手,所以对不起,如果我是个白痴,但是我在文档中找不到任何可以帮助我重新确定头脑的东西。 编辑 我所缺少的是跟踪分支的概念。现在,我了解了这个概念,一切都变得清晰了。就我个人而言,我发现git branch --track语法比更加直观git checkout -b branch-name origin/branch-name。 谢谢您的帮助!

4
git push到特定分支
即使阅读了这个问题:git-push-current-branch,我仍然很难弄清楚应该如何编写git push命令。如问题链接中所述,从文档中尚不清楚。 我想以我的“真实世界”为例。以下是git status在分支的顶层执行命令时看到的内容: 在分支上amd_qlp_tester 您的分支比“ origin / amd_qlp_tester”提前5次提交。 等等... 所以我的分支名称是,amd_qlp_tester但是它是从主分支“分支”出来的(如果我用错了术语,那是因为我的SVN背景)。但是还有一个名字`origin / amd_qlp_testser' 那么我该如何表达我的push命令呢? 是否为以下任何一项: git push origin/amd_qlp_tester git push origin amd_qlp_tester git push amd_qlp_tester git push origin git push

12
进行持续集成时最好的分支策略?
要进行持续集成时,最好使用哪种分支策略? 发布分支:在主干上开发,为每个发布保留一个分支。 功能分支:在单独的分支中开发每个功能,只有稳定后才合并。 同时使用这两种策略是否有意义?如您所言,您为每个版本都分支了,但同时也为大型功能而分支了?这些策略之一与持续集成是否更好地结合?使用不稳定的中继线时,使用连续集成甚至有意义吗?

2
我应该将google-services.json(来自Firebase)添加到我的存储库中吗?
我刚刚注册了Firebase,然后创建了一个新项目。Firebase要求我提供我的应用程序域和SHA1调试密钥。我输入了这些详细信息,它生成了一个google-services.json文件供我添加到我的应用模块的根目录中。 我的问题是,是否应将此.json文件添加到公共(开源)存储库中。它应该是秘密的吗,例如API密钥?

2
在Mercurial中使用嫁接的后果
最近在维护Mercurial中的发行分支时,有一些关于跳过更改的问题。例如: Mercurial:虚拟合并后,分支特定的更改会继续出现 为什么一个分支机构中的Mercurial退出影响其他分支机构? 自从2.0版引入以来,我一直想知道如何使用它graft来避免此问题。给定这样的修订树: A---B---C---D---E---F---G---H---I---J 假设我们需要创建一个跳过Evil更改的发行分支E。 hg update -r D hg graft "F::J" 给我们: A---B---C---D---E---F---G---H---I---J \ --F'--G'--H'--I'--J' 问题1:这里发生了什么?我可以理解,这transplant会从中生成补丁F::J,然后将其应用到D,但graft据说使用的是3向合并,而不是补丁。所以.......这是怎么工作的?为什么会更好? 可以说我现在修复了E,并将其合并到我的发布分支中。 --E2----------------- / \ A---B---C---D---E---F---G---H---I---J---M1 \ \ --F'--G'--H'--I'--J'---------M2-- M1是直接合并;那里没什么特别的。M2是合并分支,这些分支具有“相同”(或至少等效)的更改。 Q2:这是合并只是使用普通的3路合并D,J'以及M1? 问题3:Mercurial是否存储/使用了有关嫁接操作的额外信息以帮助合并? 最后... 问题4:这样的流程有哪些潜在问题?

9
如何在Excel文件和SQL模式文件上执行更好的文档版本控制
我负责几个Excel文件和SQL模式文件。我应该如何对这些文件执行更好的文档版本控制? 我需要知道这些文件中修改过的部分(不同部分),并保留所有版本以供参考。目前,我在文件名上附加了时间戳,但是我发现它似乎效率很低。 有没有一种方法或良好的做法来进行更好的文档版本控制? 顺便说一句,编辑人员通过电子邮件将文件发送给我。

5
使用gitignore忽略(但不删除)文件
我的git仓库中有一个tmp目录,我希望它仍然存在,但是会被忽略。我将其添加到中.gitignore,但git status仍然告诉我该目录中文件的更改。我试过了git rm -r --cached,但是那把它从远程仓库中删除了。如何停止跟踪对该目录的更改,但仍然允许它存在?我还需要对1个文件执行此操作,但是对它们的更改也会在显示它们git status后显示.gitignore出来。我该怎么办?

19
您如何处理源代码管理中的配置文件?
假设您有一个典型的Web应用程序,并且具有文件配置。每个从事该项目的开发人员都将为其开发箱提供一个版本,还将有一个开发,生产和阶段版本。您如何在源代码管理中处理此问题?根本不检入此文件,使用其他名称检查该文件还是一起做某事?
96 svn  git  version-control  cvs 

6
git不区分大小写吗?
在我的部分承诺的第一个承诺中,该承诺_Electronics以大写字母开头,然后将其更改为_electronics。 cygwin下的Git在提交新名称后忽略了大小写,因此我在目标存储库中手动更改了名称。 现在,有时会将_electronics提交的部分更改为_Electronics。 我做错了什么?


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.