- 論壇徽章:
- 0
|
分支管理
git能夠管理多個(gè)的開發(fā)分支branch,今天來(lái)學(xué)習(xí)git的分支管理。
我們?cè)谥暗膅it4test1項(xiàng)目中創(chuàng)建一個(gè)叫“experimental”分支,
weijianhua@wjh-laptop:~/git_test/git4test1$ git branch experimental
你可以用git branch來(lái)查看當(dāng)前項(xiàng)目的開發(fā)分支:
weijianhua@wjh-laptop:~/git_test/git4test1$ git branch
experimental
* master
*號(hào)標(biāo)記意思是你當(dāng)前在的分支,可以用git checkout命令來(lái)切換分支:
weijianhua@wjh-laptop:~/git_test/git4test1$ git checkout experimental
Switched to branch "experimental"
weijianhua@wjh-laptop:~/git_test/git4test1$ git branch
* experimental
master
加入我要在git4test1項(xiàng)目中加入提示當(dāng)前系統(tǒng)內(nèi)核版本的功能,我不確定能夠完成,那我可以先在此項(xiàng)目中建立一個(gè)供我實(shí)驗(yàn)的分支:"experimental",切換在此分支下編寫代碼:
weijianhua@wjh-laptop:~/git_test/git4test1$ vim main.c
我在main.c中加入一行代碼:system("cat /proc/version");來(lái)實(shí)現(xiàn)輸出當(dāng)前系統(tǒng)的內(nèi)核版本功能
#include
int main()
{
system("cat /proc/version");
printf("test for git,step 2\n");
printf("test for git,step 1\n");
return 0;
}
編譯測(cè)試:
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;
接下來(lái)可以提交我的代碼了:
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 }
可以看到我們?cè)诜种?quot;experimental"上提交的代碼在主分支master上并未得到更改;也就是說(shuō)這在開發(fā)當(dāng)中是相對(duì)獨(dú)立的項(xiàng)目;
接下來(lái)就是今天學(xué)習(xí)的重點(diǎn)了,怎么把我在自己的開發(fā)分支"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(-)
這樣就完成了把開發(fā)分支"experimental"合并到master主分支上!
當(dāng)然如果完成了分支合并后,可以刪除開發(fā)分支"experimental"了
git branch -d experimental
當(dāng)然如果你的分支在開發(fā)過(guò)程中出現(xiàn)了問(wèn)題,也可以強(qiáng)制刪除:
git branch -D experimental
最后再來(lái)認(rèn)識(shí)一個(gè)很強(qiáng)大的命令gitk,他是圖形化的查看工具,可以很詳細(xì)的看到每次項(xiàng)目代碼變化的記錄!
file:///tmp/moz-screenshot.jpg
![]()
本文來(lái)自ChinaUnix博客,如果查看原文請(qǐng)點(diǎn):http://blog.chinaunix.net/u2/65429/showart_1904801.html |
|