Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
对以前的版本进行了更改,现在需要将最新版本合并到当前分支(Git)_Git_Xcode6 - Fatal编程技术网

对以前的版本进行了更改,现在需要将最新版本合并到当前分支(Git)

对以前的版本进行了更改,现在需要将最新版本合并到当前分支(Git),git,xcode6,Git,Xcode6,对于这个蹩脚的问题,我很抱歉,但我需要一些指导:我有一个iPad应用程序,我正在对branch 3.2.0进行重大更改。我收到通知说以前的版本3.1.0有一个bug,所以我从3.2.0切换到现有的分支3.1.0,进行了更改,创建了一个新的分支3.1.1,并将其提交到本地和远程。这就是它现在的样子: 现在,我需要将对3.1.1所做的更改合并到3.2.0中,而不需要在3.2.0中增加任何内容。我读过关于合并和重定基址的书,但不确定该用哪一种 如何在XCode 6.1中实现这一点 更新2所以我做了“g

对于这个蹩脚的问题,我很抱歉,但我需要一些指导:我有一个iPad应用程序,我正在对branch 3.2.0进行重大更改。我收到通知说以前的版本3.1.0有一个bug,所以我从3.2.0切换到现有的分支3.1.0,进行了更改,创建了一个新的分支3.1.1,并将其提交到本地和远程。这就是它现在的样子:

现在,我需要将对3.1.1所做的更改合并到3.2.0中,而不需要在3.2.0中增加任何内容。我读过关于合并和重定基址的书,但不确定该用哪一种

如何在XCode 6.1中实现这一点

更新2所以我做了“git checkout 3.2.0”和“git cherry pick 3.1.1”,结果如下:

iMac-2:salonbook rolfmarsh$git checkout 3.2.0 2014-12-22 14:11:23.988 Xcode构建[21886:13545655][MT]插件加载:DVTPluginCompatibilityUIDS中不存在路径“~/Library/Application Support/Developer/Shared/Xcode/plugins/Alcatraz.xcplugin”处插件的必需插件兼容性UUID C4A681B0-4A26-480E-93EC-1218098B9AA0 已在“3.2.0”上 iMac-2:salonbook rolfmarsh$git cherry pick 3.1.1 警告:无法合并二进制文件:ja.lproj/MainStoryboard.strings HEAD vs.012c66e。。。GR-1.3.1 警告:无法合并二进制文件:it.lproj/MainStoryboard.strings HEAD vs.012c66e。。。GR-1.3.1 警告:无法合并二进制文件:fr.lproj/MainStoryboard.strings HEAD vs.012c66e。。。GR-1.3.1 警告:无法合并二进制文件:es.lproj/MainStoryboard.strings HEAD vs.012c66e。。。GR-1.3.1 警告:无法合并二进制文件:en.lproj/MainStoryboard.strings HEAD vs.012c66e。。。GR-1.3.1 警告:无法合并二进制文件:de.lproj/MainStoryboard.strings HEAD vs.012c66e。。。GR-1.3.1 错误:无法应用012c66e。。。GR-1.3.1 提示:解决冲突后,标记更正的路径 提示:使用“git add”或“git rm” 提示:并使用“git commit”提交结果


现在我该怎么办?我害怕这样的事情-{

您需要选择带有修复程序的提交

git checkout 3.2.0
git cherry-pick 3.1.1
与合并不同,这将只从指定的提交获取补丁,而不是从两个分支分离后的整个历史

但是如何在Xcode中进行呢?没有任何线索。在谷歌上搜索Xcode git cherry pick。除了在前两次点击中是git add-p,他们称之为cherry pick。我在这里不知所措。只需使用命令行。很简单

在发生冲突时,git status会将冲突文件显示为已修改。编辑它们,git添加它们,然后git提交。git会记住,此提交应该完成樱桃选择


您使用分支创建发布的做法是危险的。这就是标记的用途。分支随着每次提交而移动。标记保留。

请参阅合并与重新设置差异。@WimDeblauwe:我用分支现在的样子的图像更新了问题;根据您提供的链接,似乎合并时机已经成熟,而不是重新设置分支sing。你同意吗?是的,因为你已经将分支推到了remote,所以在这里不可能进行重定。但请听@SzG在其回答中的建议。使用标签标记发布,而不是分支。你可以合并、重定基础或樱桃选择。尽管每个选项都有自己的选择,但选择主要取决于个人和/或项目偏好某些权衡…好的…如果这个farkels上升了3.2.0,有什么方法可以恢复吗?SzG:cherry pick命令不是不正确吗?应该是cherry pick 3.1.1吗?这可能是正确的答案,但它会使分支变硬,所以我最终手工完成了…谢谢你的时间。