Questions tagged «branch»

“分支”是版本控制系统中用来表示独立开发线的术语。根据系统的不同,存储库可以包含一个或多个分支。当需要将更改从一个分支传播到另一个分支时,将合并分支。


3
在当前分支上进行所有更改,然后将其移至Git中的新分支
我开始研究我认为是master分支的次要错误修复程序。但是,它已经失去控制,以至于我希望自己创建一个单独的分支来首先进行开发。 所以现在我想做的是: 创建一个名为(例如)“ edge”的新分支 将母版上所有已更改/未跟踪的文件移到边缘(这样,从我启动错误修复起,母版就保持不变) 边完成我的工作,再合并回大师 我怎样才能做到这一点?
105 git  branch 


5
提交的重新排序
我目前正在分支上,希望一些提交合并到其他分支中: a-b-c-d-e-f-g (branchA) / --o-x-x-x-x-x-x-x-x-x-x (master) \ x-x-x-x-x (branchB) (字母表示提交,而“ x”是不相关的提交。) 但是我注意到合并一些提交是个好主意。我想将a,d,e和g“串联”提交到一个补丁中,并将其提交给master。提交b和f应该作为对branchB的一次提交。是否有一种好的“ git”式方法来实现?
104 git  branch 

5
在git中切换分支名称
提出这个问题的方法可能不只一种,所以这里是对问题的描述。我当时正在研究母版,并做了一些工作,然后决定要暂停该工作。我备份了一些提交,然后从开始垃圾工作之前分支。实际上这很好,我现在有一个不同的分支作为我的主要开发分支。我想知道如何改变周围的环境,以便我再次从事master的工作,但是没有我的垃圾工作,他说工作在另一个分支上。 可以通过一些方法来解决:如何将我的master分支重命名为其他名称,然后再将其他名称重命名为master?如何备份master,然后使过去备份的所有提交都位于不同的分支上? 感谢所有(快速)答案!他们都很好。
103 git  branch 

2
从分支中提取所有提交,将指定的提交推送到另一个
我有以下分支: master production 和以下远程分支: origin/master origin/production 我有一个脚本来提取origin/master分支,并获取与上次提取(log -p master..origin/master)所做更改相比的差异。然后我合并origin/master。 找到的提交将推送到代码审查工具。 我想将成功的提交(只有它们)推送到生产部门,然后再推送到origin/production。 我该怎么办? 另外,我有两个正在运行的脚本:一个从中获取origin/master,push将详细信息提交到数据库并进行合并的脚本,而我当前正在编写的另一个脚本将必须成功提交的脚本。 我想在避免竞争条件/合并冲突的同时运行这两个脚本。由于我只想使用指定的提交,也许有一种方法可以摆脱我不想要的提交?
102 git  branch 

3
如何将两个提交合并为一个提交?
我有一个带有2次提交的分支“ firstproject”。我想摆脱这些提交,并使它们显示为单个提交。 该命令git merge --squash听起来很有前途,但是当我运行git merge --squash终端时,只会显示该命令的选项。正确的命令是什么? Commit 1: Added 'homepage.html' Added 'contacts.html' Commit 2: Added 'homepage.php' Added 'homepage.php' Deleted 'homepage.html' Deleted 'contacts.html'
102 git  merge  branch  git-svn  rebase 

4
在git-flow之后,您应该如何处理早期版本的修补程序?
如果您尝试遵循此处介绍的git-flow分支模型以及此处介绍的工具,则应如何处理这种情况: 您已经制作了1.0版和2.0版。然后,您需要对1.0进行修复。您从1.0标记创建了一个修补程序分支,并在那里实现了修补程序。但是那又怎样呢? 通常,您将合并到master并在其中放置1.1 release标签。但是您不能将1.1合并到master上的2.0之后的某个点。 我猜您可以将release标签放在hotfix分支上,但是那样会在包含发布标签的master旁边创建一个永久分支。那是正确的方法吗?
101 git  branch  git-flow  hotfix 

1
在GitHub上可视化分支
在TortoiseGit,gitk或BitBucket上,通常具有所有分支的项目历史可视化,如下所示: 但是,GutHub的提交历史似乎很平坦,至少我找不到显示这种图形的方法。GitHub的Web UI可以像其他Git客户端一样以某种方式可视化分支吗?
101 git  github  branch 

12
进行持续集成时最好的分支策略?
要进行持续集成时,最好使用哪种分支策略? 发布分支:在主干上开发,为每个发布保留一个分支。 功能分支:在单独的分支中开发每个功能,只有稳定后才合并。 同时使用这两种策略是否有意义?如您所言,您为每个版本都分支了,但同时也为大型功能而分支了?这些策略之一与持续集成是否更好地结合?使用不稳定的中继线时,使用连续集成甚至有意义吗?

11
切换Git分支而无需文件检出
是否可以在Git中切换到另一个分支而不检出所有文件? 切换分支后,我需要删除所有文件,重新生成它们,提交并切回。因此,检出文件只是浪费时间(大约有14,000个文件-这是一个漫长的操作)。 为了使一切变得清晰: 我需要所有这些来将文档上传到GitHub。 我有一个带有gh-pages分支的存储库。在本地重建文档时,将其复制到存储库目录,提交并推送到GitHub。但是我不高兴,因为我在本地有两份文档。我决定创建一个空分支,并在提交后切换到空并删除文件。但是切换回来是一项漫长的操作-所以我问了这个问题。 我知道我只能离开gh-pages分支并删除文件,但是我不喜欢脏的工作树。
100 git  branch  git-checkout 


2
在Mercurial中使用嫁接的后果
最近在维护Mercurial中的发行分支时,有一些关于跳过更改的问题。例如: Mercurial:虚拟合并后,分支特定的更改会继续出现 为什么一个分支机构中的Mercurial退出影响其他分支机构? 自从2.0版引入以来,我一直想知道如何使用它graft来避免此问题。给定这样的修订树: A---B---C---D---E---F---G---H---I---J 假设我们需要创建一个跳过Evil更改的发行分支E。 hg update -r D hg graft "F::J" 给我们: A---B---C---D---E---F---G---H---I---J \ --F'--G'--H'--I'--J' 问题1:这里发生了什么?我可以理解,这transplant会从中生成补丁F::J,然后将其应用到D,但graft据说使用的是3向合并,而不是补丁。所以.......这是怎么工作的?为什么会更好? 可以说我现在修复了E,并将其合并到我的发布分支中。 --E2----------------- / \ A---B---C---D---E---F---G---H---I---J---M1 \ \ --F'--G'--H'--I'--J'---------M2-- M1是直接合并;那里没什么特别的。M2是合并分支,这些分支具有“相同”(或至少等效)的更改。 Q2:这是合并只是使用普通的3路合并D,J'以及M1? 问题3:Mercurial是否存储/使用了有关嫁接操作的额外信息以帮助合并? 最后... 问题4:这样的流程有哪些潜在问题?

3
git浅克隆(克隆-深度)错过了远程分支
克隆远程存储库后,它不会通过-a选项显示任何远程分支。可能是什么问题呢?如何调试呢?在此片段中,未显示两个远程分支: $ git clone --depth 1 git://git.savannah.gnu.org/pythonwebkit.git $ cd pythonwebkit $ git branch -a * master remotes/origin/HEAD -> origin/master remotes/origin/master $ git --version git version 1.8.3.1 在另一台机器上尝试了相同的命令,效果很好: $ git clone --depth 1 git://git.savannah.gnu.org/pythonwebkit.git Receiving objects: 100% (186886/186886), 818.91 MiB | 3.44 MiB/s, done. $ cd pythonwebkit/ $ git branch -a …


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.