我在一个分支(即design )工作,我做了一些改变,但我需要放弃他们,并重置它以匹配存储库版本。 我认为git checkout design会做到这一点,但它只是告诉我,我已经在分支design ,我有3个修改的文件。 我将如何放弃这些变化,并获得现在在远程服务器上的分支?
在我的gemfile中我有这个: gem "authlogic", :git => "git://github.com/odorcicd/authlogic.git", :branch => "rails3" 我如何安装它作为gem,所以我可以testing它?
使用git branch –all显示所有远程和本地分支。 git什么时候刷新这个列表? 拉/推? 以及如何使用git bash刷新它? 非常感谢你!
在Git中,分支的“删除”是什么意思? 它会从存储库中消失吗? 或者它仍然可以通过git branch导航? 我真正想做的是把一个分支标记为“死胡同”,也就是说,这个分支离主人太远了,没有人会把它当作一个起点,尽pipe这个分支有一些好点子,所以我们喜欢保留,供参考。
我工作的公司开始有他们目前的分支模式的问题,我想知道社区已经接触到什么不同的分支策略? 对于不同的情况有什么好的吗? 你的公司使用什么? 他们的优点和缺点是什么?
…所以我已经习惯了Mercurial( add , commit , diff )的简单的东西,发现了.hgignore文件(耶!),并得到了创build和分支之间切换( branch , update -C )。 我有两个主要的问题: 如果我在分支“Branch1”中,并且想从分支“Branch2”中引入一些但并非全部的更改,那我该怎么做? 特别是如果所有更改都在一个子目录中。 (我想我可以只克隆整个资源库,然后使用Beyond Compare这样的目录合并工具来select我的编辑,好像应该有一种方法来隔离一个文件或一个目录中的变化)。 切换与update -C分支之间似乎很容易,我想知道为什么我会打扰使用clone 。 我只能想到几个原因(见下文) – 我还有其他一些原因吗? 一个。 如果我需要一次执行两个版本/分支(例如,执行性能度量比较) 湾 进行备份(将存储clone到物理位置不同的networking驱动器) C。 像我上面提到的那样进行select合并。
我做了一个从我的箱子到当地的DIR结帐,并做了很多地方的变化。 现在我不想把它提交回主干,但我宁愿从这个本地版本做一个分支。 那可能吗? 我可以只将树干复制到分支,然后cd DIR和svn switch到分支? 更新 :感谢您的答案,它的工作! 总结步骤: cd DIR svn copy . new-branch-URL svn switch new-branch-URL . (注意点)
当你在master分支上运行git pull的时候,它通常会从origin/master拉出来。 我在一个不同的分支称为newbranch ,但我需要运行一个命令,做一个从origin/master到newbranch ,但我不能运行git checkout更改选定的分支,直到拉完成。 有没有办法做到这一点? 为了给出一些背景知识,存储库存储一个网站。 我在newbranch做了一些改变,并通过将网站切换到newbranch来部署它们。 现在这些更改已经合并到master分支上游,我正在尝试将网站切换回master分支。 在这一点上, newbranch和origin/master是相同的,但master是落后的origin/master ,需要更新。 问题是,如果我以传统的方式来做: $ git checkout master # Uh oh, production website has now reverted back to old version in master $ git pull # Website is now up to date again 我需要达到上面的一样( git checkout master && git pull ),但是在这个过程中,不需要将工作目录改变到更早的版本。
使用git,我怎么能search所有本地分支的所有文件中给定的string? Github的具体情况:是否有可能在所有Github分支上执行上述search? (在我的远程github回购有几个远程分支,理想情况下,我不会为这次search降下..)
你如何扭转合并对极化分支的影响,而不会痛苦? 这个问题困扰了我好几个月 ,终于放弃了。 你有1个知识库,有2个命名分支。 A和B. 发生在A上的变化将不可避免地发生在B上。 B上直接发生的变化不得在A上发生 在这样的configuration中,将“B”合并为“A”会在存储库中产生可怕的问题,因为对B的所有改变都显示在A中,就好像它们是在A中做出的一样。 从这种情况中恢复的唯一“正常”方式似乎是“撤销”合并,即: hg up -r A hg backout -r BadMergeRev –parent BadMergerevBeforeOnA 看起来一切都很好,直到你决定以正确的方向合并,最终发生各种各样令人讨厌的事情,特别是分支B上被删除/注释的代码突然变得没有注释或没有注释。 到目前为止,还没有一个可行的解决办法,除了“让它做事,然后解决所有的问题”,而且说实话有点贵。 这是澄清问题的图像: [原始图像丢失] 文件C&E(或更改C&E)必须仅出现在分支b上,而不出现在分支a上。 这里的修订A9(分支a,revno 9)是问题的开始。 修订版A10和A11是“退出合并”和“合并退出”阶段。 修订版B12是多余的,错误地重复放弃了不打算放弃的改变。 这种困境已经引起了许多挫折和蓝烟,我想结束它。 注意 试图禁止发生反向并购,这可能是一个显而易见的答案,无论是用钩子还是政策,我已经发现把这个问题弄糟的能力是相当高的,发生这种可能性的可能性很大,即使采取反措施,你也必须假设不可避免的,它会发生,所以你可以解决它。 详细说明 在模型中我使用了分离文件。 这些使问题听起来很简单。 这些只是代表可能是一个单独的行的任意改变 。 另外,为了增加对损害的侮辱,分支A发生了实质性的变化,这留下了一个长期的问题:“分支的变化与分支B的变化发生冲突,分支B刚刚出现(并退回),看起来像一个变化在分支A上代替“ 历史重写技巧: 所有这些追溯解决scheme的问题如下: 我们有9000个提交。 因此新鲜克隆需要半小时 如果某个地方 甚至存在一个不好的版本库,那么它就有可能重新与原始版本库联系起来,然后再次重新开始。 每个人都已经克隆了这个仓库,现在已经过了好几天了。 一个这样的克隆,恰好是一个现场,所以“抹那个,从头开始”=“大诺诺” (我承认,上面的很多都有些蠢,但是他们不在我的控制范围之内)。 唯一可行的解决scheme就是那些假设人们可以而且会做一切错误的方法,而且有一种方法可以“消除”这种错误。