如何将非Git环境的特性伪分支作为分支并入Git,解决合并覆盖问题
正确导入外部特性改动并与master分支合并的方法
你需要让Git明确特性分支的起点是节点x,而不是master的最新提交,这样合并时才会识别并行改动,不会覆盖master的内容。具体步骤如下:
基于节点x创建特性分支
首先切换到节点x,并创建新的特性分支:git checkout -b feature-branch x这里的
x需要替换成对应节点的哈希值、标签名或其他可识别的Git引用。导入外部特性改动
将你在Git外部复制的特性文件/改动放到当前工作区,然后提交这些改动:git add . git commit -m "提交外部开发的特性改动"这样你的特性分支就完整保留了基于x的所有自定义改动,且分支起点完全符合实际开发逻辑。
合并master分支的最新改动
现在将master分支的后续改动合并到特性分支:git merge masterGit会自动对比节点x之后master的改动和你的特性分支改动,仅合并差异内容,不会覆盖master的现有改动。如果遇到冲突,手动编辑冲突文件解决后,执行
git add <冲突文件>和git commit即可完成合并。
如果你偏好线性的提交历史,也可以用git rebase master替代git merge master,不过rebase会改写特性分支的提交历史,适合个人开发场景,团队协作建议使用merge以保留完整的分支合并记录。
内容的提问来源于stack exchange,提问作者Trees4theForest
相关产品推荐
相关产品推荐

