更新对于这个蹩脚的问题很抱歉,但我需要一些指导:我有一个iPad应用程序我在分支3.2.0上进行了重大更改。我收到通知说先前版本3.1.0有错误,所以我从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 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'
提交结果
现在该怎么办? (我害怕这样的事情!): - {
答案 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
。
使用分支创建版本的做法很危险。那是什么标签。分支随着每次提交而移动。标签留下。