合并基于同一分支的两个功能

时间:2015-08-06 17:28:45

标签: git git-branch git-merge

我正在为名为jprichardson/fs-extra的存储库做出贡献。我有我的前叉reggi/node-fs-extra。我开发了两个尚未被接受掌握的独立功能分支,我希望有一个分支,我可以使用它来合并这两个功能。

我希望有一个新的分支enhanced,它是这两个分支的合并。我试过几次合并。这就是问题所在。

  • 分支feature/ensurelink-ensuresymlink重命名现有的index.js文件file.js,并创建新的index.js文件。
  • 分支feature/ensurefile编辑index.js文件。

我需要的是将feature/ensurefile' index.jsfeature/ensurelink-ensuresymlink file.js合并。

有办法做到这一点吗?

1 个答案:

答案 0 :(得分:0)

以下是我为合并而采取的步骤

确保您在master

git checkout master

根据enhancedmaster

创建新的checkout分支
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