git - 在一个分支中完成两个不同分支的更改
问题描述
我有两个不同的分支,比如说 branchA 和 branchB。我签出到 branchB 并在 featureB 中进行了更改。除了featureB,我还对featureA进行了必要的更改!现在我只希望将 featureB 更改推送到 branchB,并且只将 featureA 更改推送到 branchA。请帮忙!
解决方案
你有这个。
C - FB - FA [branchB]
/
A - B [master]
\
D - E [branchA]
A、B、C 等只是一些提交。FA 和 FB 代表功能 A 和功能 B 的提交。
你要这个。
C - FB [branchB]
/
A - B [master]
\
D - E - FA [branchA]
有几种方法可以处理这个问题。这是一个。
首先,将特征 A 更改为分支A。这将复制提交。可能会有冲突。
git checkout branchA
git cherry-pick FA
C - FB - FA [branchB]
/
A - B [master]
\
D - E - FA [branchA]
然后使用交互式变基消除来自 branchB 的提交。
git checkout branchB
git rebase -i master
会出现一个编辑器。删除带有违规提交的行,Git 将在 master 之上重写 branchB 中的剩余提交。
C - FB [branchB]
/
A - B [master]
\
D - E - FA [branchA]
有关更多信息,请参阅Git Book 中的重写历史记录。
推荐阅读
- java - 为什么 Activity 中受保护的 android:onClick 方法实际上有效?
- php - SimpleXML 解析为数组
- git - 从文件夹中添加某些文件
- react-native - React-Native:如何添加全屏 Lottie 动画
- security - 使用挖矿防止对websocket的DDOS攻击:这是一个可行的解决方案吗?
- php - 将数据从mysql输出到php php上的迷你博客
- javascript - knockout.js - 不更新 div 标签的显示样式
- java - hibernate: mappedBy 引用 oneToMany 关系中的未知目标实体属性
- r - dplyr - 指定聚集和传播后的顺序
- django - 为 Django、pybrake 或 airbrake-django 推荐的 Airbrake 记录器是什么?