- 论坛徽章:
- 0
|
分支管理
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 |
|