我不希望添加schema.rb
到.gitignore
,因为我希望能够从该文件中加载一个新的数据库架构.但是,保持检查会导致各种各样的虚假冲突,这些冲突很容易通过新鲜的方式解决db:migrate:reset
.
基本上我想要一种方法:
将有一两个人负责更新schema.rb
并知道它是正确的.
有没有办法我可以吃蛋糕然后吃它?
我正在寻找一个放置几GB文档的地方(主要是.doc
和.xls
).我的团队已经设置了Subversion服务器来管理我们创建的文档,所以如果可能的话,我更愿意使用它.Subversion如何处理所有这些额外的东西?其中大部分是遗留信息,并且只有一个版本,但可能会更新一些文档.
我已经被警告过,SVN并不是特别容易使用的二进制文件.我很谨慎尝试它是否有效,因为它们总是在存储库历史记录中,即使我后来删除它们也是如此.
任何替代品?我们需要能够评论和/或标记文档,但我们可以使用类似于美味的服务与SVN(或类似)中的文档的URL相结合.
后来 我不太担心二进制文件的差异,因为如上所述,它们不会有太大变化.如果他们这样做的话我会有轻微的麻烦 - 这并不比SharePoint差.
我的开发团队已经使用颠覆工作了很长一段时间.管理主干和分支的方式如下:
我们(几乎)总是从行李箱中释放出来
每个版本都有自己的分支.
当一个版本准备好QA时,我们将分支合并回主干并为下一个版本创建一个新分支.
开发人员可以使用主干或分支,但是没有特定于开发人员的分支.
最近,我们有一些噩梦合并会议,部分是由于应用程序的一些重大变化.这些并不总是顺利进行,并且在QA期间有时弹出问题,其中颠覆并没有完全合并.
一种解决方案可能是定期将主干更改合并到发布分支中,例如每周一次,以确保最新的主干更改位于分支中.然后可以更接近实时地修复冲突.
您对此问题的体验是什么?有标准的最佳做法吗?此外,你有一个很好的方法来跟踪哪些修订已合并到分支(subversion中的体面评论可能会处理).
假设我正在使用Visual Studio在家中启动一个新的Web项目,即哪个版本控制系统,即.Git或Subversion会更好用吗?哪一个设置复杂度最低?
目前我只想查找过去X天未修改的所有文件,但最终我希望能够针对我的subversion存储库进行更复杂的查询.
是否有某种Subversion查询语言或我可以使用的API?
我的一个同事正在解决他的机器上的git变更问题.如果他登录到另一台机器,他可以推得很好 - 但是从他的机器,当他试图推动他得到以下错误
D:\Projects\test1\best-practices>git push Counting objects: 4, done. Compressing objects: 100% (2/2), done. Writing objects: 100% (3/3), 273 bytes, done. Total 3 (delta 1), reused 0 (delta 0) error: unable to create temporary sha1 filename ./objects/42: Permission denied fatal: failed to write object error: unpack failed: unpacker exited with error code To //civ3s012/gitrepos/best-practices/.git ! [remote rejected] master -> master (n/a (unpacker error)) error: failed to push some refs to '//civ3s012/gitrepos/best-practices/.git'
服务器是一台Windows机器,客户端也是如此.没有其他人遇到这个问题 - 这似乎是一个服务器权限问题,但我们已经根据我们的判断排除了这一点.此外,他可以使用相同的用户名登录到另一台计算机并进行推送,这使得它看起来不是服务器权限.有什么想法可能会出错吗?
目前我的团队使用Visual Sourcesafe,并且非常熟悉GUI是多么可怕,并且听到互联网对于它是多么不可靠,我一直试图向SVN转移.
今天我和经理讨论了他支持的最终移动,他问是否有可能在SVN中创建sourceafe样式链接.对于不熟悉sourcesafe的人来说,链接在概念上与Linux下的文件链接一样.我们使用它们来链接项目之间的共享代码/库.我解释说没有办法使用SVN创建链接,他提出这可能是迁移中的一个主要问题.
我告诉他,在我的本地SVN(我一直在缓解我的开发,只在sourcesafe中定期检查)中,我将共享代码/库放在一个位置,并将ANT引用到该位置.但是,我觉得这个解决方案并没有给他留下太深刻的印象,因为它增加了ANT任务的复杂性.就个人而言,我认为有一个稍微复杂的ANT脚本比在源代码控制中拥有一堆链接文件更值得,但这实际上是你订阅了哪种范例的问题.
我很好奇开发人员如何解决这个限制,并做更新的源控制系统,如Git和Mercurial支持链接?
首先让我解释一下我们的设置:
我正在和一些承包商合作.他们使用Visual Source Safe进行源代码管理,我们公司正在使用Subversion.他们每隔几天就通过以下步骤预先签入我们的存储库:
它是一个可怕的过程,我们计划在下一次迭代中解决它,但它的工作原理.除了有时它没有.有时在他们提交之后,一些文件具有灰色的复选标记覆盖.
我不确定这意味着什么.谷歌搜索意味着它可能与锁定有关,但没有人明确锁定任何东西!这些文件似乎已经提交,但是当我签出时它们就丢失了.我确信我错过了一些东西.
任何人都可以解释什么锣和如何解决它?
我正在使用Git存储库来处理与我正在开发的网站相关的所有内容.存储库包含与站点相关的所有文件,包括文档,模型,原始分层图像等,以及我放在www
子目录中的Web根目录.
我正准备开始整合我选择用于项目其余部分的CMS; CMS是一个开源项目,也使用Git进行管理(如果重要的话,托管在GitHub上).显然CMS需要在www
子目录中,但它不会是唯一的东西 - 会有CSS文件,图像,CMS的模板等等.因此,我选择了使用子树合并策略将外部项目添加到我的存储库.因为我可能在某个时候想要修改原始项目并提供更改,我已经从GitHub克隆了CMS存储库并从我的克隆中完成了子树合并.
问题是,外部项目(即CMS)具有我想要包含的子模块.确保子模块集成到主项目中的最佳方法是什么?我是否必须为每个子模块进行子树合并?
我不太可能想要修改子模块,但我可能会有一两个子模块.
我一直在使用subversion(以及之前的CVS)不仅存储源文件,而且以后存储用于我研究的LaTeX文件,最后还存储一些word文件和其他材料.
我喜欢这样一个事实,即我可以使用多台计算机并同步每台计算机的最新内容,同时仍然能够维护备份和项目的某些层次结构.
我确信我不能成为唯一一个这样做的人.
我现在正在考虑将CVS或subversion用作包含许多频繁更改的office文档的家庭计算机的主要备份机制.这是好主意吗?我能想到的主要问题是文件被认为是二进制的,所以服务器会膨胀一点.
但是,我想知道其他我应该注意或注意的事情.
另外,我在哪里可以找到可以自动化签名的脚本的好例子?
我想用git在我的rails项目之间共享(并不断更新)一些基本代码.我能怎么做?