git基于历史commit创建分支
2015-07-27 10:38
225 查看
今天在使用dbus实现rpc时,发现远程方法传递和返回的参数不对,而前几天测试过明明是正常的。于是很自然的想到找回历史版本再测试一遍,确认是测试环境发生变化了,还是修改代码引起的。
可是怎么取出历史版本呢?对git不太熟练,折腾了一番总算搞定了。
1.确定需要取出版本的commit值:
我需要的历史版本的commit 值为92483401abdc41bc64bbdde1a63ed7bbee403e19
2. 取出该版本,并创建branch
基于commit "92483401abdc41bc64bbdde1a63ed7bbee403e19"创建了branch "dbus_work_ok",并取出该版本的代码。
一点说明:
git checkout -b <branch name> <SHA1>
这样就checkout之前的一个commit并开一个branch指向它了.
如果不打算做修改,
只是想checkout出来的话, git checkout <SHA1>就行, 用
detached HEAD特性.
http://www.newsmth.net/nForum/#!article/LinuxDev/42375
更多的可以查看git的manul:
悲催的是,经过测试发现之前能正常工作的dbus功能,居然出错了!。。。。看来又有得忙了
-----------------------------------
ps:
经过测试,发现是修改了dbus函数中参数的顺序,导致传递给remote的参数错误。
3. 提交代码:
注意:这只是提交到branch "dbus_work_ok"上,并没有合并到主干分支上(因为当前的分支是"dbus_work_ok")。
4. 合并到主干branch "master"上:
切换到主干branch "master":
(当前分支是"master")
合并:
5. 删除不需要的branch "dbus_work_ok":
6.在主干分支“master”上继续工作。
可是怎么取出历史版本呢?对git不太熟练,折腾了一番总算搞定了。
1.确定需要取出版本的commit值:
#git log commit 76dc4da1c919a2baf430fbe0a7362844ab274451 Author: Zhengfeng Rao <z.rao@xxxxxxxxxxxx.com> Date: Thu Jun 19 16:16:16 2014 +0800 improve rpc api commit 1bfaab5c77be218618382af4a6732b3ec1196673 Author: Zhengfeng Rao <z.rao@xxxxxxxxxxxx.com> Date: Wed Jun 18 20:08:31 2014 +0800 improve rpc client & service api, not tested. commit 92483401abdc41bc64bbdde1a63ed7bbee403e19 Author: Zhengfeng Rao <z.rao@xxxxxxxxxxxx.com> Date: Tue Jun 17 20:10:42 2014 +0800 devel package can call function in service package by dbus now. commit 80e79ff87718b9e56be1b4d4986d796dc046878b Author: Zhengfeng Rao <z.rao@xxxxxxxxxxxx.com> Date: Fri Jun 13 19:56:01 2014 +0800 add new test files
我需要的历史版本的commit 值为92483401abdc41bc64bbdde1a63ed7bbee403e19
2. 取出该版本,并创建branch
#git checkout -b dbus_work_ok 92483401abdc41bc64bbdde1a63ed7bbee403e19
基于commit "92483401abdc41bc64bbdde1a63ed7bbee403e19"创建了branch "dbus_work_ok",并取出该版本的代码。
一点说明:
git checkout -b <branch name> <SHA1>
这样就checkout之前的一个commit并开一个branch指向它了.
如果不打算做修改,
只是想checkout出来的话, git checkout <SHA1>就行, 用
detached HEAD特性.
http://www.newsmth.net/nForum/#!article/LinuxDev/42375
更多的可以查看git的manul:
#git checkout --help
悲催的是,经过测试发现之前能正常工作的dbus功能,居然出错了!。。。。看来又有得忙了
-----------------------------------
ps:
经过测试,发现是修改了dbus函数中参数的顺序,导致传递给remote的参数错误。
3. 提交代码:
#git commit -a -m "fix bug:params incorrect in function rpc_execute_context_query(), which will cause dbus work abnormal"
注意:这只是提交到branch "dbus_work_ok"上,并没有合并到主干分支上(因为当前的分支是"dbus_work_ok")。
4. 合并到主干branch "master"上:
切换到主干branch "master":
#git checkout master
(当前分支是"master")
合并:
#git merge dbus_work_ok
5. 删除不需要的branch "dbus_work_ok":
#git branch -d dbus_work_ok
6.在主干分支“master”上继续工作。
相关文章推荐
- git恢复误删除的文件
- Leetcode Q7:Reverse Integer
- 获取iOS项目名称及版本号
- centos查看哪些包提供指定头文件
- CodeForces 363B - Fence
- 【Unity NGUI游戏开发之三】TweenPosition位移动画(二):相对于UIAnchor不同分辨率下的完美适配位移动画
- Myeclipse配置Tomcat
- conkey conf
- git remote branch操作
- android 解析xml
- centos查看哪些包提供指定头文件
- 类加载器的工作原理
- cocos2dx中的屏幕适配
- stack栈
- 突破防盗链机制:使用referrer-killer
- 将图片转成二进制并生成Base64编码,可以在网页中通过url查看图片
- C#中的委托的简单使用
- Android高效加载大图、多图解决方案,有效避免程序OOM
- SVN Error:URL access forbidden for unknown reason
- MFC 多屏显示