Questions tagged «version-control»

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


15
集中式和分布式版本控制系统之间的比较[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 哪些优点和缺点使用集中式与分布式版本控制系统(DVCS)?您是否在DVCS中遇到任何问题,并且如何防范这些问题?使讨论工具不可知且不可燃。 对于那些想知道可用的DVCS工具的人,这里列出了最著名的免费/开源DVCS: Git(用C编写),由Linux内核和Ruby on Rails使用。 Mercurial,(用Python编写),由Mozilla和OpenJDK使用。 Bazaar(用Python编写),由Ubuntu开发人员使用。 Darcs,(用Haskell编写)。

3
git从当前签出的master创建分支?
服务器上有一个由git控制的文件夹,在其中检出了主分支,并且一堆文件已被修改但尚未提交。有没有办法将更改提交到单独的分支,以便可以返回到干净版本? 即,我想有效地撤消所有这些人员更改,但将它们存储在另一个机会中,因此,如果该人员想要他们的更改,则可以切换到该分支。 (是的,我知道这不是git的工作方式,但这是我的情况!)任何想法都非常感谢。

6
Git互动合并?
我有两个具有完全相同文件的分支(以防您想知道它是一个.sql文件),并且我想交互式地合并它。 我几乎想像在发生冲突(或命令行)时一样打开一个diff程序,并精确选择行的位置。 反正有这样做吗?

8
从git存储库中删除文件(历史记录)
(已解决,请参阅问题正文的底部。) 很长时间以来,我一直在寻找以下内容: http://dound.com/2009/04/git-forever-remove-files-or-folders-from-history/ 和 http://progit.org/book/ch9-7.html 几乎相同的方法,但是它们都将对象保留在打包文件中...卡住了。 我试过的 git filter-branch --index-filter 'git rm --cached --ignore-unmatch file_name' rm -Rf .git/refs/original rm -Rf .git/logs/ git gc 包中仍然有文件,这就是我所知道的: git verify-pack -v .git/objects/pack/pack-3f8c0...bb.idx | sort -k 3 -n | tail -3 还有这个: git filter-branch --index-filter "git rm -rf --cached --ignore-unmatch file_name" HEAD rm -rf .git/refs/original/ …


3
如何将多个(已经推送)的Git提交还原到已发布的存储库中?
git的新手,已经搞砸了。 我已经提交了一些更改并将其推送到远程开发机器。我需要恢复较旧的版本,但到目前为止,要保持“不好的进展”,以便继续在单独的分支上工作。 我正在考虑这样做: 创建一个名为“ tested-thing”的本地分支 将本地存储库恢复到其工作状态(希望有意义的提交会有所帮助); 推送到远程 完成对被测物的测试 将“经过测试的东西”合并到开发人员中 推送到远程 在第3步和第5步之间,其他开发人员可能会提交并推送,恐怕这可能会导致“合并悲剧”-无论如何,这是否是正确的选择? 更新: 这里的主要问题在于2) 在这里,有关主题:“将工作分解为主题分支” http://learn.github.com/p/undoing.html 他们建议: $ git分支测试 $ git reset --hard a6b4c974 这样,其他开发人员仍然可以: $ git commit (在dev分支上) 我可以结帐以进行测试和解决,直到合并时间为止。 尽管您有所有选择,但这还是一个不错的选择。但是,没有说明是否可以在我们按下后完成? 请注意以下几点:由于我做了这些更改并且弄乱了所有内容,因此到目前为止,还没有其他人在存储库上工作过。因此,如果我还原工作目录,没有人会注意到。

17
使用git版本控制系统锁定二进制文件
一年半以来,我一直在关注git社区,希望从SVN转向。使我退缩的一个特殊问题是无法锁定二进制文件。在过去的一年中,我尚未看到有关此问题的进展。我知道锁定文件违反了分布式源代码管理的基本原理,但是当二进制文件存在潜在冲突时,我看不到Web开发公司如何利用git来跟踪源代码和图像文件更改。 为了实现锁定的效果,必须标识“中央”存储库。无论git的分布式性质如何,大多数公司都将为软件项目提供“中央”存储库。我们应该能够将文件标记为需要来自指定地址的git仓库的锁定。也许由于git跟踪文件内容而不是文件而使这变得困难吗? 你们中的任何人都具有处理git和二进制文件的经验,这些文件应在修改前锁定? 注意:看起来Source Gear的新开源分布式版本控制项目Veracity已将锁定作为其目标之一。

30
版本控制入门
我需要实现版本控制,即使是在家中进行开发也是如此。我已经阅读了有关Subversion在过去几年中的出色表现,并打算全力以赴地学习这一知识,直到我听说Git是即将推出的版本控制系统。 在这种情况下,我应该推迟一下,看看哪一个排名第一吗?它们的相对优势是什么? 我注意到Git的一个问题是功能齐全的GUI并不多,这对我团队中的许多用户而言都很重要。 同样,不介意关于如何开始使用另一种的建议。(教程等)

20
版本控制(即Subversion)是否适用于文档跟踪?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 2年前关闭。 改善这个问题 我负责大约100多个文档(word文档,而不是源代码),这些文档需要我部门的其他人员进行修订。当前,所有文档都位于共享文件夹中,它们将在其中检索,修改并保存回该文件夹中。 我现在正在做的是在共享文件夹中查找“修改日期”,打开最近修改的文档,并使用MS Word中的“跟踪更改”功能来应用更改。我觉得这有点乏味。 那么,如果将其提交到版本控制数据库中,会更好又容易吗? 基本上,我想保留文件的其他版本。 我从答案中学到了什么: 使用Time Machine保存其他版本(或Vista中的卷影副本) 使用版本控制应用程序时,文本文档和二进制文档之间有所不同。(我不知道) 差异不适用于二进制文件 修订的通知系统(即电子邮件)很棒 Google文档修订功能。 更新: 我试用了Google文档修订功能,觉得这对我来说几乎是正确的。过于频繁的版本控制(自动保存)使您有点恼火。 但是,对我来说合适的感觉并不意味着对我的部门合适。他们可以将所有这些文档保存到Google吗?



6
Xcode 4.2如何将一个项目包含到另一个项目中?
我一直在搜索,但是找不到关于如何将一个XCode项目及其所有子类都包含到另一个项目中的清晰简单的解释。我通常会在网上下载的示例项目中看到类似的内容,但自己却不知道该怎么做。 在XCode中,除了.h和.m文件和文件夹外,还有一个全新的项目,从蓝色的xcode项目图标开始,该图标可扩展以包含项目中的所有内容。 拜托,有人可以一步一步地向我解释将一个XCode项目添加到另一个项目中需要做什么吗?我已经看到了很多像“标题搜索路径”这样的衬里,但这并不能告诉我太多。 更新:重新阅读文档后,我意识到要包含的项目必须拖到父项目的BLUE项目图标上。常规源可以拖到任何地方,但是必须将项目拖到项目上。 谢谢!

14
Mercurial“服务器”
我已经使用Mercurial了一段时间,但主要是为自己使用。但是,现在,我有一个项目正在研究我们两个人在哪里构建同一个项目,并且我们可能会修改彼此的文件。 我想在服务器上设置一个Mercurial存储库,使该存储库成为“服务器”,因此我的更改和其他编辑者的更改都推送到该服务器(因此基本上是Subversion / CVS模型);我虽然喜欢Mercurial,但不想切换到Subversion之类的东西。 在我自己的网络中,一切都在Linux上完成,并且我的“服务器”已安装OpenSSH。因此,将我的更改(我在多台计算机上工作)从一台计算机推送到服务器只是“ hg push”问题。使用的协议是SSH来传输更改。 问题是我使用Linux,服务器将是Windows(所以没有OpenSSH,对吗?),另一个编辑器也将使用Windows。据我所知,在这类类型的设置中使用Mercurial的最佳方法是使存储库从源中提取更改,而不是从源中推送到“服务器”。我位于多个防火墙(不完全是我的网络)的后面,并且我的计算机从服务器看不到,并且我假设其他编辑器也位于防火墙的后面(所以我们不能只启动本地Mercurial HTTP服务器并从中获取“服务器”计算机)。 两位编辑者对服务器存储库进行更改的最佳方式是什么?(我应该补充一点,该服务器是Internet上的服务器,因此它看起来像一样google.com。它是托管的Windows服务器,但是如果需要,我可能会有权安装软件。)

6
在Subversion中取消删除文件的简单方法是什么?
这些说明有些令人生畏和令人困惑:http : //svnbook.red-bean.com/en/1.0/ch04s04.html#svn-ch-4-sect-4.3。而且,他们似乎也没有提到如果您在执行svn rm[1]之后仍未签到,这会简单得多。 因此,我认为这是为那些使用谷歌搜索技术的人记录一个简单答案的好地方。 [1]对于svn新手,似乎“ svn rm”立即破坏了文件。我记得svn rm当时有种想法,那就是将其从源代码管理中删除,并在文件本身实际消失时吓坏了。因此,有一个子问题是,从版本控制中删除文件而不实际删除本地副本的正确方法是什么?

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.