Questions tagged «version-control»

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


20
为什么要使用版本控制?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 11个月前关闭。 改善这个问题 我在读一个博客,作者说 “除非将代码签入版本控制系统,否则代码是不存在的。将版本控制用于您所做的一切。任何版本控制,SVN,Git甚至CVS都可以对其进行掌握和使用。” 我从未使用过任何形式的版本控制,但我认为它并不那么出色。我曾经用谷歌搜索过它,并对其进行了研究,但是如果您愿意的话,我只需要把它放入儿童的语言中即可。 据我目前所了解,诸如SVN之类的东西是用于在线存储代码的,以便一组用户或其他开发人员可以访问相同的代码。更新某些代码后,您可以提交新版本,并且SVN会保留旧代码以及您更新的新代码的副本。 这是它的基本思想还是我完全理解错误? 如果我是对的,那么如果我: 不要让其他人来编写代码。 不要计划让别人拥有代码。
123 svn  git  version-control  cvs 


9
如何在Windows上从SVN迁移/转换为Mercurial(hg)
我正在寻找一种工具,可将具有历史记录,标签等的几个SVN存储库迁移到Mercurial。 我使用的是TortoiseHg(Windows x32),因此ConvertExtensions被丢弃。有一些有关如何在Linux机器(hgsvn)上执行此过程的信息,但是我没有Linux机器。 我可以在Windows上使用这些Python脚本吗?如果是这样,我该怎么办?或者,我可以使用哪些其他工具来执行此过程? 基本上,如何将SVN项目转换为Mercurial?

9
如何将一次提交归因于多个开发人员?
我熟悉的所有版本控制系统的工作方式是,每次提交都归于单个开发人员。敏捷工程(尤其是结对编程)的兴起导致了以下情况:两个开发人员对同一任务做出了重大贡献,例如,一个错误修复程序。 在项目环境中,归因的问题不会太大,因为项目经理会意识到两人正在做的工作,但是如果两个开源贡献者决定配对并推出一些代码呢?到一个不知道他们正在一起工作的特定项目。像Git这样的版本控制系统是否可以将某个特定的补丁归于多个开发人员?

3
Mercurial(hg)仅提交某些文件
我正在尝试仅使用Mercurial提交某些文件。由于hg在我每次尝试提交更改时都会自动添加,因此它想要提交所有文件。但我不希望这样,因为某些文件尚未“就绪”。 有 hg commit -I thefile.foo 但这仅适用于一个文件。对我来说,更好的方法是像Git中那样关闭自动添加功能。这可能吗?

6
Intellij Idea 9/10,要检查(或不检查)源代码管理的文件夹是什么?
我们的团队刚刚从Netbeans迁移到Intellij 9 Ultimate,并且需要知道哪些文件/文件夹通常应从源代码管理中排除,因为它们不是“可移植的工作站”,即:它们引用仅存在于一个用户计算机上的路径。 据我所知,Intellij希望忽略大多数.idea项目,包括 .idea/artifacts/* .idea/inspectionProfiles/* .idea/copyright/* .idea/dataSources.ids .idea/dataSources.xml .idea/workspace.xml 但是,似乎要检.iml入每个模块的根目录中存在的文件。 我最初是.idea通过命令行检查整个目录的,显然,它不知道Idea应该忽略什么。.idea通常会忽略整个目录吗?

6
Git Cherry Pick vs Rebase
我最近开始与Git合作。 在网上查阅Git书,我在“ Git Rebase”部分找到了以下内容: 使用rebase命令,您可以执行在一个分支上提交的所有更改,并在另一个分支上重播它们。 (引自:http : //git-scm.com/book/en/Git-Branching-Rebasing) 我认为这是git cherry-pick的确切定义(在当前签出的分支上重新应用一个提交或一组提交对象)。 两者有什么区别 ?

9
Git推送:“致命的“来源”似乎不是git存储库-致命无法从远程存储库读取。”
我知道已经问过类似的问题。 但是,我认为我的问题是由于我先前犯的一个错误所致,因此有所不同:让我解释一下。 一切工作顺利,我可以: git add . 我本地存储库中的所有文件。 git commit -m "message here" 将消息添加到我的提交中。 git push origin master 将我的文件上传到GitHub。 git push heroku master 将我的文件上传到Heroku。 但是,在某个时候,我在本地创建了一个新分支add-calendar-model,以防应用程序开发的后续步骤向南延伸。 ...这正是发生的事情。 但是,尽管进行了很多尝试,但我还是没有设法从master分支到本地存储库获取初始代码(即创建新分支之前的代码)。 所以,我决定从我的本地库,并手动删除所有的文件git clone我master从GitHub分支。 这样,我将所有文件取回来,但是现在,我无法再将其推送到远程存储库。 每当我尝试运行git push origin add-calendar-model或时git push origin master,都会出现以下错误: fatal: 'origin' does not appear to be a git repository fatal: Could not read …

30
他们为什么不在学校教这些东西?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 在整个夏天,我很幸运地参加了Google Summer of Code。我学到了很多东西(可能比我所有大学课程学习的总和还多)。我真的很想知道为什么他们不教一些我在学校早些时候学到的东西。仅举几例: 单元测试 版本控制 敏捷开发 在我看来,他们花了大量时间在教学其他方面,例如数据结构和算法。尽管我仍然认为这些对于早期学习非常重要,但为什么不在他们之前教更多这三个呢?还是仅仅是我的学校不教这些东西太多? 别误会我的意思,我认为大学总是不应该教那些最流行的编程风尚,但我的教授难道不应该教我“在开始编码之前先画一个图”吗?

2
生成在HG版本之间更改的文件的列表
我想生成一个列表,其中列出了Mercurial中给定目录中的两个修订之间的哪些文件。 特别是,我没有兴趣在什么改变,但哪些文件在该目录中改变。 例如,假设之间then和otherthen中,只有2个文件改变: >hg hypothetical-command -r then:otherthen foo.baz bar.baz > 假设的命令是什么?我已经尝试了diff和log,但是我看不出如何说服他们这样做:要么我得到了patch(diff),要么我得到了整个repo(log)。


10
Mercurial错误:中止未提供用户名
第一次使用Mercurial在WindowsXP上出现问题(可能在所有Win安装中都会发生)。我在一个不明显的地方找到了答案,所以我自己问/回答这个问题,因此其他人不必像我一样进行搜索。 第一次在机器上使用Mercurial。 添加新的Repoz: c:\bla\>hg add 没问题。 接下来,提交: c:\bla\hg commit 错误: 中止:未提供用户名(请参阅“汞帮助配置”)

5
Git忽略和Maven目标
任何人都知道是否有可能忽略git管理的文件结构中特定目录的所有实例。 我正在寻找排除带有多个子模块的Maven项目中的所有“目标”文件夹。我知道我可以在顶级.gitignore中显式排除它们中的每一个,但是我真的很希望能够指定一个类似** / target / *的模式来让它自动忽略子目录中的实例? 这可能吗?


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.