标签: branching-and-merging

TFS反向集成回主要

我有从Home分支派生的Development分支.

我可以将Development分支合并回Main,以便Main分支代码与Development分支相同吗?

什么是最安全可靠的解决方案?

tfs branching-and-merging

3
推荐指数
1
解决办法
1万
查看次数

如何仅自动跟踪 git 分支上的特定文件

我有一个 master 分支和几个工作分支,每个分支都应该实现一个特定的功能,然后合并到 master 中并删除。

我遇到的问题是工作分支跟踪所有也在 master 上的文件,每当 master 更新时,我必须手动将 master 合并到所有其他工作分支以保持它们最新,即使没有与工作分支功能相关的文件受到影响。

是否有一种策略,我只能跟踪分支上的特定文件,而让其他文件可以自由地由其他分支更新?有没有比使用 .gitignore 更好的方法,它总是必须手动更新以忽略/包含特定文件?我只想自动跟踪那些在该分支上提交了更改的文件。

git version-control branch branching-and-merging

3
推荐指数
1
解决办法
973
查看次数

执行“挤压和合并”后可能出现问题?

我用于将分支Squash and Merge合并devmain,因为我不希望dev分支中的一些提交消息出现在main
但现在我发现这main是在开发之前 1 次提交。并且该图显示和
之间没有联系。这是我以前没有见过的,我也是第一次使用Squash 和 mergedevmain

存储库的图表:

git 扩展生成的图

现在,我应该这样做:

  1. git checkout dev
  2. git rebase main

否则,在进行Squash 和 Merge后我应该做什么,以防止出现意外问题。

在这里,我无法理解这种情况。我可能想错了。在这种情况下,请告诉我什么是正确的。

我的工作流程:

我有两个长寿的分支main& dev。然后我有短期分支featurebughotfix等。main分支始终保持生产就绪状态。feature当我合并dev到时我会删除最后一个分支main

我的dev分支看起来像这样:

开发图

分支main看起来像这样:

主图

笔记:

  • 我是 git 的新手。所以,我的想法可能是错误的。如果是这样,请指出我的错误并告诉我什么是正确的。

git github git-merge branching-and-merging

3
推荐指数
1
解决办法
2015
查看次数

Git:使用rebase应用主题分支(不合并)

我想在我的主人身上申请一个小主题分支(在贡献者的远程仓库上).我认为这样做的规范方法是:

git merge contributor/topic-branch
Run Code Online (Sandbox Code Playgroud)

但是我希望逐个应用提交而不是生成合并提交.

天真地运行git rebase contributor/topic-branch显然不会起作用,因为它将我的主应用主题分支,就好像主题分支是我的上游.所以我尝试了这个:

git rebase master contributor/topic-branch
Run Code Online (Sandbox Code Playgroud)

这就是我想要的,除了现在我有一个独立的HEAD,我需要修复master分支指向HEAD(使用branch -f).我当然可以编写一个Bash函数来自动执行此操作,但是有没有"正确"的方法来引入主题分支而不使用merge

git git-rebase branching-and-merging git-branch

2
推荐指数
1
解决办法
5196
查看次数

从Trunk到Branch的复制提交

我总是承诺Trunk and Branch.

通常我:

  1. 创建我想要提交的主干更改补丁.
  2. 执行补丁到我的分支的workcopy(有时合并)
  3. 测试中继,测试分支
  4. 提交修补后的主干
  5. 提交修补的分支

今天我的错误是我在没有补丁的情况下提交了所有修改(见4)(见1).

现在,我没有可以执行到分支的补丁.

我现在如何"轻松"将我的更改添加到分支机构?

svn branching-and-merging

2
推荐指数
1
解决办法
880
查看次数

如何将文件从分支添加到Mercurial中的另一个分支?

我在本地存储库中有两个分支:defaults1

default分支处,有一个名为的文件def.txt。该s1分公司有命名为文件set3.txtset1.txt等我想补充set1.txts1分支default的分支也。

hg add set1.txt当工作目录位于default分支时,我尝试使用命令。但是,由于defaultbranch没有文件,因此无法添加它,并且始终会显示错误消息,例如"no set1.txt file found"

我不想使用merge命令,因为我不想合并所有其他文件从一个s1分支到另一个default分支。我只想添加一个文件set1.txt。我也尝试hg transplant -b s1过,但似乎没有达到相同的目的。

那么有什么想法可以解决这个问题吗?我的目标是使这两个分支如下所示:

  • defaultdef.txtset1.txt等等。

  • s1set1.txtset3.txt等等。

我的机器是Red Hat Linux Workstation 6,它具有Mercurial 1.7.3和TortoiseHG 1.5。

mercurial branching-and-merging mercurial-extension

2
推荐指数
1
解决办法
429
查看次数

如何在git分支上更改作者姓名

前几天,我分支了github项目以创建静态页面,但搞砸了我的作者姓名

https://github.com/ronaldsuwandi/le-simplepage/commits/gh-pages

如何为分支的第一次提交重命名作者?

我试过了

但是没有运气-我对git还是很陌生。

编辑:如果我想更改第一个提交(例如,如果我的提交历史记录是并且我想更改我可以执行的提交历史记录,那么Amber给出的答案将无效)。想更改自身的提交历史。A-B-C-DBgit rebase -i AA

git git-amend branching-and-merging

2
推荐指数
1
解决办法
4594
查看次数

将git分支分成多个分支以合并为master

我的团队一直在主人的原型分支工作.我现在想要完成这项工作,将其分成不同的"功能分支",然后将它们单独合并到master中.我看到有几种方法可以做到这一点,我都不喜欢这样做:

1 - 在master之外创建一个新分支Feature_1 .手动将Prototype中的代码复制到Feature_1.这意味着当我去创作Feature_N并且我失去历史时,我必须跟踪我复制的内容.

2 - 从Prototype创建一个新的分支Feature_1 .以某种方式还原不属于Feature_1中第一个功能的代码.这避免说谎git(并保留历史记录),但感觉Feature_N将是一个混乱,因为我会告诉主人,当我推动Feature_1时,更改被还原.

我错过了一个更好的方法吗?

git branch branching-and-merging

2
推荐指数
1
解决办法
1723
查看次数

删除名称包含怪异字符的分支

我使用Git Bash,并且错误地创建了一个名为-D的分支。在通过Google搜索之后,我尝试了

git branch -d -- -D 
Run Code Online (Sandbox Code Playgroud)

获得

error: branch '-D' not found. 
Run Code Online (Sandbox Code Playgroud)

而且我也试图从gitk中删除它,但没有成功。

另一方面,我注意到如果git branch从控制台键入或在gitk上显示分支名称,则分支名称会更改。例如,分支在控制台中为-D,但在gitk上用奇怪的字符命名。

用git log获得的分支名称

分支名称显示在gitk中

此时,我将怪异的名字从gitk复制/粘贴到控制台,然后发出

git branch -d â?"D
Run Code Online (Sandbox Code Playgroud)

没有成功。

但是,我收到警告消息:“警告:您的控制台字体可能不支持Unicode。如果在输出中遇到奇怪的字符,请考虑切换到TrueType字体,例如Lucida Console!”

作为最后一次尝试,我尝试从gitk中删除该分支,但出现一个弹出窗口,显示“错误:分支,找不到另一个奇怪且较长的名称 ”。

这次,由于无法从弹出窗口复制,因此无法从弹出框复制另一个粘贴又长又怪异的名称到控制台。

git branching-and-merging git-branch

2
推荐指数
1
解决办法
1074
查看次数

在Git中,来回合并后,为什么分支不在同一点?

根据我的理解,我们一直在用Git做一个项目,这是一个非常标准的分支模型,如下所述:http://nvie.com/posts/a-successful-git-branching-model/

我们从"大师"开始,从中分支"发展".有许多提交"开发",然后我们从"开发"分支"发布-1".有一些提交"release-1",然后我们将"release-1"合并为"master",并再次将"release-1"合并为"develop".然后我们删除了"release-1".

现在我希望"主"和"开发"分支处于同一点.并且它们确实具有相同的文件,但根据分支图,它们具有完全不同的历史记录,唯一的共同点是存储库中的第一个提交.

所以有两个问题:

1)为什么他们没有相同的历史/他们为什么不在同一点?

2)我们如何解决它?我们应该强制合并"发展"到"掌握"或"掌握"到"发展"吗?

git branching-and-merging

2
推荐指数
1
解决办法
590
查看次数