Questions tagged «version-control»

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

14
如何完全删除TFS绑定
我有一个包含很多项目的解决方案, 我想完全删除源代码控制绑定,该怎么做? 更新: 我真正想做的是从TFS 2005-> 2008中迁移一个解决方案及其项目。这就是为什么我要删除绑定,有没有更好的方法呢?

22
初学者Mercurial:权威的实用指南
已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 受到Git初学者的启发:权威的实用指南。 这是有关使用Mercurial面向初学者进行实际使用的信息的汇总。 初学者-接触过源代码控制但并不十分了解的程序员。 实用-涵盖大多数用户经常遇到的情况-创建存储库,分支,合并,从/到远程存储库的拉/推等 注意事项: 说明如何完成某件事,而不是如何实现。 每个答案处理一个问题。 尽可能清楚简洁地回答。 编辑/扩展现有答案,而不是针对同一主题创建新答案。 请为想要了解更多信息的人提供指向Mercurial Wiki或HG Book的链接。 问题: 安装/设置 如何安装Mercurial? 如何设置Mercurial? 您如何创建一个新的项目/存储库? 如何配置它以忽略文件? 使用代码 您如何获得最新代码? 您如何签出代码? 您如何提交更改? 您如何查看未提交的内容或当前代码库的状态? 如何从存储库中删除文件? 您如何销毁不必要的提交? 您如何比较文件的两个修订,或者当前文件和先前的修订? 您如何查看文件或存储库的修订历史? 您如何处理二进制文件(例如,visio文档或编译器环境)? 如何合并在“同一时间”更改的文件? 您如何还原变更集? 您如何返回到以前的代码版本? 您如何从特定变更集中提取补丁? 如何记录未使用Mercurial命令重命名或删除文件的情况? 标记,分支,发布,基准 如何为一组特定的文件“标记”,“标记”或“发布”一组特定的修订版本,以便您以后可以随时将其拉出? 您如何拉特定的“发布”? 您如何分支? 您如何合并分支? 如何将一个分支的部分合并到另一个分支? 其他 适用于Mercurial的GUI / IDE插件好吗?优点缺点? 初学者应该知道的其他常见任务吗? 如何与Subversion交互? 其他水银参考 水星:权威指南 水星维基 认识Mercurial …


15
在Git中的根提交之前插入提交?
我之前曾问过如何压缩 git存储库中的前两个提交。 尽管解决方案相当有趣,并且不像git中的其他某些东西那样令人费解,但如果您需要在项目开发过程中多次重复该过程,那么它们仍然会给我们带来很多伤害。 因此,我宁愿只经历一次痛苦,然后才能永远使用标准的交互式基础。 那么,我想做的是拥有一个空的初始提交,仅作为第一个提交而存在。没有代码,什么都没有。只是占用空间,因此它可以作为基础的基础。 那么我的问题是,拥有一个现有的存储库,我该如何着手在第一个空的提交之前插入一个新的空提交,并将其他所有人向前移动?

30
11000行C ++源文件怎么办?
所以我们的项目中有mainfile.cpp这个巨大的文件(是11000行吗?),每当我不得不触摸它时,我都会畏缩。 由于该文件是如此之大且庞大,因此它会不断积累越来越多的代码,我想不出一种使它真正开始缩小的好方法。 该文件已在我们产品的多个(> 10)维护版本中使用并进行了有效更改,因此实际上很难对其进行重构。如果要“简单地”将其拆分为3个文件(例如,一开始),那么将维护版本中的更改合并回来将成为一场噩梦。而且,如果您拆分了具有如此长而丰富的历史记录的文件,则跟踪和检查SCC历史记录中的旧更改会突然变得困难得多。 该文件基本上包含我们程序的“主类”(主要内部工作的调度和协调),因此,每次添加功能时,它也会影响此文件及其每次扩展。:-( 在这个情况下,你会怎么做?关于如何将新功能移动到单独的源文件而不弄乱SCC工作流程的任何想法? (有关工具的注意事项:我们将C ++与一起使用Visual Studio;我们使用AccuRev,SCC但我认为这里的类型SCC并不重要;我们用于Araxis Merge进行文件的实际比较和合并)

6
忽略已签入目录的内容?
我有一个git存储库,该存储库仅用于保存多个项目中使用的图形和声音文件。它们都在一个目录中,没有子目录。现在,我刚刚创建了一个脚本,以将这些资产从具有多个子目录级别的另一个结构化目录中复制过来。 现在,我只希望git跟踪(源)分层文件结构,并且(目标)平面目录(所有文件都放在一堆中)应该被忽略。 我已经将目标目录添加到.gitignore中,但是git仍在跟踪其中的更改。我以为如果我删除了目标目录中的旧文件,git可能会停止跟踪新内容(由脚本复制),但事实并非如此。 如何使git忘记目标目录?

1
git reset --hard origin / master是什么意思?
我做git pull了一个错误: 下列工作树文件将被合并覆盖...请先移动或删除它们,然后再进行合并。 为了解决这个问题,我做了以下工作: git fetch git reset --hard origin/master 现在,当我这样做时git pull,它会显示所有最新信息。我想知道运行这些命令时到底发生了什么。我知道可以git fetch从远程存储库中获取更改,而无需将其合并到本地存储库中。 是什么意思git reset --hard origin/master?它是如何工作的?

9
我过去如何进行Git提交?
我将所有内容都转换为Git供个人使用,并且我已经在存储库中找到文件的一些旧版本。如何根据文件的“修改日期”以正确的顺序将其提交到历史记录中,以便获得准确的文件历史记录? 有人告诉我这样的方法会起作用: git filter-branch --env-filter="GIT_AUTHOR_DATE=... --index-filter "git commit path/to/file --date " --tag-name-filter cat -- --all



8
如何在不进行提取的情况下预览git-pull?
可能吗 基本上,有一个远程存储库,我可以使用它来提取: git pull 现在,我想预览一下此拉动将发生的变化(差异),而无需碰到我这边的任何东西。原因是我要拉的东西可能不是“好”,并且我希望其他人在将存储库设置为“脏”之前对其进行修复。

26
多久将更改提交给源代码管理?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引文回答。 4年前关闭。 改善这个问题 我应该多久对源代码管理进行一次更改?在每个小功能之后,还是仅对于大功能? 我正在做一个项目,并且有一个长期功能要实施。目前,我致力于每一项工作,即实现了每个子功能并修复了一些错误。发现错误后,甚至为某些功能添加了新的测试块后,我什至提交。 但是,我担心这种模式。在富有成效的工作中,我可能会提交10次。鉴于我正在使用Subversion,这些提交会影响整个存储库,所以我想知道这样做是否真的是一个好习惯吗?

7
git-合并时跳过特定的提交
我已经使用Git大约一年了,认为它很棒,但是我刚刚开始开发该项目的第二个版本,并为此创建了一个新分支。我正在努力处理未来的最佳方法。 我有两个分支,分别说master10(对于v1)和master20(对于v2)。我一直在分支master10的v1中进行错误修复,并开发了master20的新东西。每当我进行错误修复时,我都会通过检出master20并将其合并到v2中git merge master10。到目前为止,一切都很好。 但是,现在我在v1中做了我不希望在v2中进行的更改,但是我想继续合并其他错误修复程序。我如何告诉Git跳过那个特定的提交(或一系列提交),但是在未来,我仍然想合并其他错误修复。 我以为git rebase可能是我所需要的,但是读了文档之后,我的脑袋几乎爆炸了。 我认为我想要的是类似“ git sync”的命令,该命令告诉git现在两个分支处于同步状态,将来仅合并从此同步点开始的提交。 任何帮助表示赞赏。

10
Git与Mercurial存储库的互操作性
我在Mac上使用GIT。说够了。我有工具,我有经验。而且我想继续使用它。这里没有战争... 问题总是与互操作性有关。大多数人都使用SVN,这对我来说很棒。Git SVN开箱即用,是一种简洁的解决方案。人们可以继续快乐地使用SVN,并且我不会失去工作流程和工具。 现在...有些人和水星一起来。对他们很好:他们有他们的理由。但是我找不到现成的GIT HG。我不想切换到HG,但是我仍然需要与他们的存储库进行互操作。 你们中有人知道一个简单的解决方案吗?

3
git-svn:如何通过git创建一个新的svn分支?
我有一个跟踪svn存储库的git存储库。我使用克隆了它--stdlayout。 我通过创建了一个新的本地分支 git checkout -b foobar 现在,我希望该分支最终出现在…/branches/foobarsvn存储库中。 我该怎么办? (摘录了大量调查性文字。如果您愿意,请参阅问题历史记录)

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.