dvcs相关内容
我今天第一次尝试在IntelliJ Idea中使用“搁板”功能。我搁置了所有当前的更改,这样我就可以快速修复错误,提交它,然后再回到当前的工作中来。 当我提交“搁板”操作时,IntelliJ创建了搁板,我可以在工具窗口中看到它。然后它恢复,并重新加载项目。 现在,“更改工具”窗口中的工具架选项卡不再出现。 但是,在文件系统中,我可以在.idea/shelf下看到补丁文件。
..
我需要实现版本控制,即使只是在家里进行开发也是如此。在过去的几年里,我读到了关于Subversion有多棒的报道,我本打算在业余时间学习这一点,直到我听说Git是最有前途的版本控制系统。 在这种情况下,我是不是应该暂缓一下,看看哪一个会胜出?它们的相对优势是什么? 我注意到Git的一个问题是,功能齐全的图形用户界面并不多,这对我团队中的许多用户都很重要。 此外,我也不介意就如何开
..
目前我正在研究如何引入 DVCS(特别是我正在研究 Hg 和 Git),同时保留并行的 CVS 存储库(或者甚至只是通过 CVS 协议的访问机制).这里有一些开发人员非常不愿意从 CVS 切换,但是如果它们可以自动同步或具有 CVS 协议前端,则并行运行它们应该没问题. CVS 存储库过去曾被手动编辑(在磁盘上),但一切似乎都是一致的,无论如何我都可以尝试之前的转换,我们还可以保留 CVS
..
我想知道是否可以使用 nuget 仅在版本控制中存储对所需包的引用(仅 package.config 并忽略包文件夹). 有没有办法告诉 nuget(重新)下载各种 package.config 文件中所有引用的包?或者类似的东西可以放入构建脚本中. 更新: 似乎我不是唯一请求此功能的人:查看此工作项(感谢 PHeiberg 的提示) 更新 2: NuGet 现在已内
..
我不使用 Mercurial,但我想开始,所以我正在阅读它.我广泛使用的唯一 SCM 系统是 CVS.我读过的关于 Mercurial 的大部分内容都是有道理的,而且听起来不错.但我对它的标签方式时而感到震惊和困惑. 标签只是变更集的昵称(“变更集"实际上是指变更集产生的状态).凉爽的.从标签到变更集 ID 的映射存储在 .hgtags 文件中.也很酷..hgtags 文件是版本化的.
..
所以,我对 git 还很陌生,在过去几周阅读了一些资料后,我读到一些人说不应该更改 master 分支,而是应该从 和然后合并到. 我很高兴在分支上工作,但想知道不在主分支上工作的原因? 解决方案 我想通常的推理是,master 分支应该代表代码的“稳定"历史.使用分支来试验新功能,实现它们,当它们足够成熟时,您可以将它们合并回 master. 这样,master 中的代码几乎
..
我想我已经知道答案了,但我还是想问: 我们有一个文件被添加到 Mercurial 存储库中,其中包含敏感信息.有没有办法在不删除整个 repo 的情况下删除该文件及其更改历史记录? 解决方案 不,你不能.阅读应该有的更改从来没有关于它的红皮书的部分;尤其是那些敏感的变化呢 小节,其中包含本段: Mercurial 也没有提供方法完全制作文件或变更集从历史中消失,因为有没有办法强
..
我有一个名为 Generic 的存储库,它是一个通用应用程序.我已将其分叉到一个名为 Acme 的存储库中,该存储库仅构建在应用程序存储的 Generic 存储库上,并为其添加了 Acme Co 品牌. 如果我对 Generic 中的核心功能进行更改,我想使用我对 中的核心功能所做的最新更改来更新 Acme 存储库通用.我该怎么做? 据我所知,我实际上是在尝试将上游存储库中所做的更改合
..
我们公司在 VB6 中有大量代码库,我们目前使用 VSS,尽管我们讨厌它,但至少它集成到了 VB6 IDE 中. 我自己的团队正在使用 .NET,现在正在寻找替代 SCM,例如我个人最喜欢的 Git.使用 Git 扩展,我们似乎能够很好地将 Git 命令集成到 Visual Studio IDE 中. 然而,有人提出了一个问题:Git 也可以用于我们的 VB6 代码库吗? 当然,
..
选择 Mercurial 作为 FogCreek 基础的原因是什么?Kiln,具有紧密集成的代码审查和 FogBugz 集成的源代码控制管理系统? 为什么是 Mercurial,而不是其他(分布式)版本控制系统,比如 Bazaar、Git 或 Monotone,或者创建自己的版本控制系统,比如 Fossil(分布式软件配置管理,包括错误跟踪和 wiki)做了什么? 是什么特性让 Fog
..
我的服务器已经在 TCP 端口 80 和 443 上运行了 IIS.我想通过 Internet 为我的所有团队成员提供一个集中的“推/拉"Git 存储库. 所以我应该使用 HTTP 或 HTTPS. 但是我无法使用 Apache,因为 IIS 已经在端口 80 和 443 上连接了侦听套接字!有没有办法通过 IIS 发布 Git 存储库?Git 使用 WebDAV 吗? 更新.
..
据我所知,所有分布式版本控制系统都要求您克隆整个存储库.出于这个原因,将大量内容放入一个存储库是不明智的(感谢 这个答案).我知道这不是错误而是功能,但我想知道这是否是所有分布式修订控制系统的要求. 在分布式 rcs 中,文件(或内容块)的历史记录是一个有向无环图,那么为什么不能只克隆这个 DAG 而不是存储库中所有图的集合?也许我错过了一些东西,但以下用例很难做到: 仅克隆存储库的一
..
显然,当您将一个函数从一个源代码文件移动到另一个源代码文件时,git 修订日志(对于新文件)可以向您显示该代码片段最初来自何处(例如参见 本教程). 这是如何工作的? 解决方案 它不跟踪它们.这就是它的美妙之处. Git 只记录整个项目树的快照:这是提交之前所有文件的样子,这是提交之后的样子.我们是如何从这里走到那里的,Git 不在乎. 这允许在提交已经发生后编写智能工具
..
使用集中式与分布式版本控制系统 (DVCS) 有哪些优点和缺点?您在 DVCS 中遇到过任何问题吗?您是如何防范这些问题的?保持讨论工具的不可知性并尽量减少火爆. 对于那些想知道有哪些 DVCS 工具可用的人,以下是最著名的免费/开源 DVCS 列表: Git,(用 C 语言编写)被 Linux 内核和Ruby on Rails. Mercurial,(用 Python 编写)由 M
..
当我在 Hg repo 中有两个分支时,如何只将一个文件与另一个分支合并,而不合并变更集中的所有其他文件? 是否可以只合并某些文件,而不是整个变更集? 解决方案 警告:这种“虚拟合并",正如 推荐作者@Martin_Geisler,如果以后你想真正合并两个分支,真的会让你一团糟.虚拟合并将被记录,并说您合并到您执行虚拟合并的分支中 - 您将看不到更改.或者,如果您合并到另一个分支,则
..
我在本地为一个项目使用 Mercurial(这是唯一一个没有推/拉到/从其他任何地方拉动的存储库). 迄今为止,它具有线性历史.然而,我目前正在做的事情我现在意识到这是一种糟糕的方法,我想在开始之前回到那个版本并以不同的方式实现它. 我对 Mercurial 中的 branch/revert/update -C 命令有点困惑.基本上我想恢复到 38 版(目前是 45 版)并让我的下一次
..
我在 Mac 上使用 GIT.说够了.我有工具,我有经验.我想继续使用它.这里没有战争... 问题始终在于互操作性.大多数人使用 SVN,这对我来说很棒.Git SVN 开箱即用,是一种简洁的解决方案.人们可以继续愉快地使用 SVN,而且我不会丢失我的工作流程和我的工具. 现在...有些人会和 Mercurial 一起来.对他们来说很好:他们有他们的理由.但是我找不到任何开箱即用的 G
..
我在 Windows 上使用 git 已经有一段时间了(使用 msysGit),我喜欢分布式源代码控制的想法.就在最近,我一直在研究 Mercurial (hg),它看起来很有趣.但是,我无法理解 hg 和 git 之间的差异. 有没有人对 git 和 hg 进行并排比较?我很想知道 hg 和 git 有什么不同,而不必跳入狂热的讨论中. 解决方案 这些文章可能会有所帮助: G
..
我刚刚在我的新项目的根目录上做了一个 git init. 然后我创建了一个 .gitignore 文件. 现在,当我输入 git status 时,.gitignore 文件出现在未跟踪文件列表中.这是为什么? 解决方案 .gitignore 文件应该在你的仓库中,所以它确实应该被添加和提交,如 git status 建议.它必须是存储库树的一部分,以便可以合并对其的更改等.
..
我刚刚阅读了 Spolsky 关于分布式与非分布式版本控制系统的最后一篇文章http://www.joelonsoftware.com/items/2010/03/17.html.两者有什么区别?我们公司使用TFS.这属于哪个阵营? 解决方案 简单来说,一个中心化的 VCS(包括 TFS)系统有一个中央存储,每个用户都得到并提交到这个位置. 在分布式 VCS 中,每个用户都拥有完整的
..