git基于历史commit创建分支

今天在使用dbus实现rpc时,发现远程方法传递和返回的参数不对,而前几天测试过明明是正常的。于是很自然的想到找回历史版本再测试一遍,确认是测试环境发生变化了,还是修改代码引起的。

可是怎么取出历史版本呢?对git不太熟练,折腾了一番总算搞定了。

1.确定需要取出版本的commit值:

#git logcommit 76dc4da1c919a2baf430fbe0a7362844ab274451
Author: Zhengfeng Rao <[email protected]>
Date:   Thu Jun 19 16:16:16 2014 +0800

    improve rpc api

commit 1bfaab5c77be218618382af4a6732b3ec1196673
Author: Zhengfeng Rao <[email protected]>
Date:   Wed Jun 18 20:08:31 2014 +0800

    improve rpc client & service api, not tested.

commit 92483401abdc41bc64bbdde1a63ed7bbee403e19
Author: Zhengfeng Rao <[email protected]>
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 <[email protected]>
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”上继续工作。

时间: 2024-11-05 18:35:08

git基于历史commit创建分支的相关文章

git查看本地和创建分支、上传分支、提交代码到分支、删除分支等

以下是git命令行里边的命令操作,加上了说明: Welcome to Git (version 1.9.5-preview20141217) Run 'git help git' to display the help index. Run 'git help <command>' to display help for specific commands. ##进入项目目录下 giscafer@LAOHOUBIN-PC /G/002_project $ cd Comments ##查看远程分

git从指定的commit创建分支

How do I create a new git branch from an old commit? git checkout -b justin a9c146a09505837ec03b This will create the new branch and check it out. git branch justin a9c146a09505837ec03b This creates the branch without checking it out.

Git 创建分支与合并分支

下面以branchName=>aiMdTest为例介绍 1.  下载code git clone masterUrl iva(另存文件名) 2.  创建并切换分支 cd iva git checkout -b aiMdTest(创建并切换分支到aiMdTest) git checkout命令加上-b参数表示创建并切换,相当于以下两条命令: git branch aiMdTest git checkout aiMdTest 3.  git branch命令查看当前分支 git branch命令会列

11_Eclipse中演示Git版本的创建,历史版本的修改,创建分支,合并历史版本和当前版本

?? 1 执行以下案例: 某研发团队2011年初开发了一款名为Apollo的信息系统,目前已发布v1.0版本.此项目初期已有部分基础代码, 研发团队再此基础代码上经过3个月的努力发布了一个功能相对完备的Apollo 1.0版本进行销售. 由于销售业绩良好,因此研发团队正在着手v2.0版本的开发工作. 但就在这个时候,有客户发现v1.0软件系统一严重bug,如不及时修复将造成严重后果. 研发团队收到bug报告后立刻安排部分研发人员对v1.0版本进行修复,但其他研发人员则继续开发v2.0版本的新功能

Git:初始化项目、创建合并分支、回滚等常用方法总结

Git 初始化项目 创建新的Git仓库 echo "# git_project" >> README.md git init git add README.md git commit -m "first commit" git remote add origin https://github.com/cjunn/git_project.git git push -u origin master 提交记录 git add . 或者 git add test

git创建分支并提交项目

git 创建分支, 切换分支, 合并分支, 删除分支及提交[commit提交到本地仓库push名利提交到远程服务器], 检出[pull], 冲突修改, 本地仓库同步远程服务器[pul和push命令l]操作 开发中常用操作 删除文件:git rm 文件名[删除本地git仓库文件, 提交后远程服务器上的文件才会消失] 查看状态:git status 添加记录:git add 文件名 或 git add . [将文件提交到远程git服务器上] 添加描述:git commit -m "描述或备注类似sv

#001 GIT创建分支

GitHub创建分支 如何在github 创建 一个分支出来,进行开发,最后在 merge 到主干上. Git 操作命令 git branch branchName //创建一个分支 git checkbox branchName //切换到新的分支 git commit -am 'commit to branch' //把内容提交到新的分支上 git push origin branchName //推送的远程的git仓库 git branch -d branchName //删除一个分支 g

git分支创建分支删除分支合并

本文git版本1.9.6 一.创建分支,删除分支 二.创建分支,合并分支,删除分支 三.创建分支,git 3-way merge,删除分支 git branch 相关命令 git branch # 列出目前有多少branch git branch new-branch # 产生新的branch (名称: new-branch), 若没有特别指定, 会由目前所在的branch / master 直接复制一份. git branch new-branch master # 由master 产生新的b

ecplise中git创建分支/提交分支/合并分支操作

ecplise中git创建分支/提交分支/合并分支操作 标签: git分支分支合并分支提交 2015-10-21 12:12 661人阅读 评论(0) 收藏 举报  分类: git(5)  版权声明:本文为博主原创文章,未经博主允许不得转载. 1创建分支 1.1项目右键-->team-->switch to -->new branch.选择原始分支和新建分支名称(一般项目名称+人名+时间).  1.2切换分支(项目右键->team->switch to ->分支名称),