一 代码拉下来后,首先创建两个本地分之
$repo start master . //仅仅用于同步服务器的修改(此处master名字可以随意定,但是建议定成这样,好记忆)
$repo start work . //仅仅用于模块的修改
二 修改代码
使当前处于"work"分支(git checkout work)
创建两个文件用于新的提交:
产生了一个新的提交:
三 先切换到本地master分支,再合入本地"work"分支的修改到master分支。
A 切换到master分支后,首先运行"repo sync"命令使代码同步到最新状态
B 通过"git reflog"查看提交记录,找到在本地"work"分支提交的"HASH ID"
$git reflog
C 运行"git cherry-pick"命令,将"work"分支的提交合入到"master"分支
$git cherry-pick 8d5733b
D 本地"work"分支的任务已完成,删除"work"分支
$git branch -D work
E 然后在"master"分支上作git push操作。
下次继续修改时,重新创建本地"work"分支,继续上面的流程。
工作原理:
- 本地创建的"master"分支仅仅用于同步和提交代码
- 本地创建的"work"分支仅仅用于修改代码
- 通过git reflog查看提交记录寻找HASH ID
- 通过git cherry-pick合入提交