免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 916 | 回复: 0
打印 上一主题 下一主题

git工具学习(三)-分支管理 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-04-20 21:18 |只看该作者 |倒序浏览

                分支管理
git能够管理多个的开发分支branch,今天来学习git的分支管理。
我们在之前的git4test1项目中创建一个叫“experimental”分支,
weijianhua@wjh-laptop:~/git_test/git4test1$ git branch experimental
你可以用git branch来查看当前项目的开发分支:
weijianhua@wjh-laptop:~/git_test/git4test1$ git branch
  experimental
* master
*号标记意思是你当前在的分支,可以用git checkout命令来切换分支:
weijianhua@wjh-laptop:~/git_test/git4test1$ git checkout experimental
Switched to branch "experimental"
weijianhua@wjh-laptop:~/git_test/git4test1$ git branch
* experimental
  master
加入我要在git4test1项目中加入提示当前系统内核版本的功能,我不确定能够完成,那我可以先在此项目中建立一个供我实验的分支:"experimental",切换在此分支下编写代码:
weijianhua@wjh-laptop:~/git_test/git4test1$ vim main.c
我在main.c中加入一行代码:system("cat /proc/version");来实现输出当前系统的内核版本功能
#include
int main()
{
system("cat /proc/version");
printf("test for git,step 2\n");
printf("test for git,step 1\n");
return 0;
}
编译测试:
weijianhua@wjh-laptop:~/git_test/git4test1$ gcc -o main main.c
weijianhua@wjh-laptop:~/git_test/git4test1$ ./main
Linux version 2.6.28-11-generic (buildd@palmer) (gcc version 4.3.3 (Ubuntu 4.3.3-5ubuntu4) ) #42-Ubuntu SMP Fri Apr 17 01:57:59 UTC 2009
test for git,step 2
test for git,step 1
以上信息显示我的代码功能ok;
接下来可以提交我的代码了:
weijianhua@wjh-laptop:~/git_test/git4test1$ git commit -a
Created commit 2f37934: add:output kernel version by wei 20090420 wei339@gmail.com
1 files changed, 1 insertions(+), 0 deletions(-)
我们切换到主分支上:
weijianhua@wjh-laptop:~/git_test/git4test1$ git checkout master
Switched to branch "master"
weijianhua@wjh-laptop:~/git_test/git4test1$ cat -n main.c
     1    #include
     2    int main()
     3    {
     4     printf("test for git,step 2\n");
     5     printf("test for git,step 1\n");
     6     return 0;
     7    }
可以看到我们在分支"experimental"上提交的代码在主分支master上并未得到更改;也就是说这在开发当中是相对独立的项目;
接下来就是今天学习的重点了,怎么把我在自己的开发分支"experimental"上完成的代码作用到master上呢?就是git的合并功能了
weijianhua@wjh-laptop:~/git_test/git4test1$ git merge experimental
Updating ae465db..2f37934
Fast forward
main.c |    1 +
1 files changed, 1 insertions(+), 0 deletions(-)
这样就完成了把开发分支"experimental"合并到master主分支上!
当然如果完成了分支合并后,可以删除开发分支"experimental"了
git branch -d experimental
当然如果你的分支在开发过程中出现了问题,也可以强制删除:
git branch -D experimental
最后再来认识一个很强大的命令gitk,他是图形化的查看工具,可以很详细的看到每次项目代码变化的记录!

file:///tmp/moz-screenshot.jpg

               
               
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/65429/showart_1904801.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP