美文网首页前端开发周边Git使用程序员
Git fork项目多分支本地开发方法|创建分支的注意事项

Git fork项目多分支本地开发方法|创建分支的注意事项

作者: Jenny_L | 来源:发表于2016-12-21 15:26 被阅读1176次

前两天使用github开发遇到一个问题,解决过程中加深了对git的理解,在这里记录一下。

问题描述

项目组有一个开源项目A,大家都fork了一份A'到自己的github。开发测试后提交pull request,合并到master后上线。一切都很正常。

但由于会同时跟进多个功能点,需要改多个文件M,N,并在开发完分开提交,就选用了分支开发(branch)的方法。

在A’主干修改的M文件,代码提交了pr,但因为依赖未上线,一直处于未合并未上线状态。
此时需要修改功能N,就在A'的基础上新建分支functionN,开发后提交时发现,竟然有M的代码。无论怎么同步A的代码都不能提交。

解决思路

这个问题其实是创建functionN分支的时机不对引起的,这个分支创建于M文件合并之后,带有M的代码。只要在那之前的时间轴节点创建分支就可以解决问题了。

具体实现

注意:在操作前备份需要修改的代码。

# 1.删除分支
git branch -d functionN

# 2. 回到主干
git checkout master

# 3. 找到M文件合并前的文件节点,如commit 488b192d543729fcfb4070ff5e
git log

# 4. 将文件内容同步为过去的版本
git checkout 488b192d543729fcfb4070ff5e

# 5. 创建工作分支
git branch functionN

# 6. 切换到工作分支,开始写代码
git checkout functionN

反思

遇到这个问题,其实是自己对git工作流(workflow)不够了解。导致创建functionN分支时带有M的代码。归纳本次的git工作流如下图:

git workflow.png

相关文章

  • Git fork项目多分支本地开发方法|创建分支的注意事项

    前两天使用github开发遇到一个问题,解决过程中加深了对git的理解,在这里记录一下。 问题描述 项目组有一个开...

  • git常用命令

    分支管理 git 切换分支 git 查看远程分支 git 查看本地分支 git 创建本地分支 git 删除本地分支...

  • 2018-06-12

    gitlab简要使用同步一个fork:git fetchgit merge创建本地分支与远程分支之间的关联git ...

  • git创建分支与合并分支(本地)

    git创建分支与合并分支(本地) 本地创建分支 切换分支 删除本地分支 $ git branch -d [name...

  • git创建与分支合并

    1, git创建一个新的项目1,首先在本地创建一个新项目 创建分支: 查看分支: 删除分支: 切换分支 git代码...

  • git 本地分支与远程分支相关

    本地分支 查看本地分支:git branch -v创建本地分支:git branch name切换本地分支:git...

  • 常见的git命令

    git创建分支 在当前分支创建本地分支 git branch -b xxx 在当前分支创建本地分支并跳转到新分支 ...

  • git使用tips

    创建本地分支:git checkout -b 分支名创建本地分支并和远程分支关联:git checkout -b ...

  • git学习

    分支 查看本地分支: git branch 查看本地及远程分支: git branch -a 创建分支,比如创建t...

  • 【Git常用总结一】Git常用命令汇总、

    查看分支: git branch 查看所有分支(本地远程): git branch -a 创建本地分支: git ...

网友评论

  • hainuo:应该是commit到master了。或者pr合并了
    hainuo:@梁小米Jenny 明白怎么回事了。有共同修改文件导致冲突。所以无法合并pr
    Jenny_L:@hainuo 当时的情况是,M文件就是在master开发的,pr还未合并。如最后一张图的解释

本文标题:Git fork项目多分支本地开发方法|创建分支的注意事项

本文链接:https://www.haomeiwen.com/subject/nnyqvttx.html