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

时间:2014-12-22 19:38:05

标签: git xcode6

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

enter image description here

现在,我需要将对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 xcodebuild [21886:13545655] [MT] PluginLoading:所需的插件兼容性UUID C4A681B0-4A26-480E-93EC-1218098B9AA0用于插件路径'〜/ Library /应用程序支持/开发人员/共享/ Xcode /插件/ Alcatraz.xcplugin'不存在于DVTPlugInCompatibilityUUID中   已经在' 3.2.0'   iMac-2:salonbook rolfmarsh $ git cherry-pick 3.1.1   警告:无法合并二进制文件:ja.lproj / MainStoryboard.strings(HEAD与012c66e ... GR - 1.3.1)   警告:无法合并二进制文件:it.lproj / MainStoryboard.strings(HEAD与012c66e ... GR - 1.3.1)   警告:无法合并二进制文件:fr.lproj / MainStoryboard.strings(HEAD与012c66e ... GR - 1.3.1)   警告:无法合并二进制文件:es.lproj / MainStoryboard.strings(HEAD与012c66e ... GR - 1.3.1)   警告:无法合并二进制文件:en.lproj / MainStoryboard.strings(HEAD与012c66e ... GR - 1.3.1)   警告:无法合并二进制文件:de.lproj / MainStoryboard.strings(HEAD与012c66e ... GR - 1.3.1)   错误:无法应用012c66e ... GR - 1.3.1   提示:解决冲突后,标记更正的路径   提示:使用&gtt add'或者' git rm'   提示:并使用' git commit'

提交结果

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

1 个答案:

答案 0 :(得分:0)

你需要通过修复来挑选提交。

git checkout 3.2.0
git cherry-pick 3.1.1

与合并不同,这将仅从指定的提交中获取补丁,而不是整个历史记录,因为两个分支已经分歧。

但是如何从Xcode中做到这一点?艾恩不知道。在Google上搜索Xcode git cherry-pick。除了在第一场2击中它git add -p他们称之为樱桃采摘。我在这里不知所措。只需使用命令行。这很容易。

发生冲突后,git status会将有冲突的文件显示为both modified。编辑它们,git add然后git commit。 Git记得这个提交应该完成cherry-pick

使用分支创建版本的做法很危险。那是什么标签。分支随着每次提交而移动。标签留下。