【问题标题】:Merging two features based on the same branch基于同一分支合并两个特征
【发布时间】:2015-08-06 17:28:44
【问题描述】:
我正在为名为 jprichardson/fs-extra 的存储库做出贡献。我有我的叉子reggi/node-fs-extra。我开发了两个尚未被掌握的独立功能分支,我想要一个可以合并两个功能的分支。
我想要一个新的分支enhanced,它是这两个分支的合并。我尝试过多次合并。这就是问题所在。
- 分支
feature/ensurelink-ensuresymlink 重命名现有的index.js 文件file.js,并创建一个新的index.js 文件。
- 分支
feature/ensurefile 编辑index.js 文件。
我需要将feature/ensurefile 的index.js 与feature/ensurelink-ensuresymlink file.js 合并。
有没有办法做到这一点?
【问题讨论】:
标签:
git
git-branch
git-merge
【解决方案1】:
这是我合并它们所采取的步骤
确保您在master:
git checkout master
基于master和checkout创建一个新的enhanced分支
git branch enhanced
git checkout enhanced
合并两个功能
git merge feature/ensurefile
git merge feature/ensurelink-ensuresymlink
确保 mergetool 已配置。
sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
git config --global merge.tool opendiff
使用mergetool 合并它们,对我来说,打开FileMerge 应用程序,我阅读窗口顶部的文件标题,然后使用箭头键单击每个部分以选择代码块我想要那个文件,它们都指向相同的方向。完成后,我使用command+s 保存,然后使用command+w 退出窗口,这会在窗口下方打开下一个文件。
git mergetool
检查状态。合并过程中创建了几个备份文件,我在文本编辑器中手动删除了它们。
git status
测试代码是否有效。
npm test
添加一个新的提交。
git add -A
git commit -m "merged features"
推到原点。
git push origin enhanced