本文轉載至 http://www.cnblogs.com/wangkangluo1/archive/2011/09/02/2164313.html
原文地址:http://hi.baidu.com/lingzhixu/blog/item/4a9b830bb08a329fe850cd5b.html
本地分支的創建
本地分支的來源為執行git checkout -b <branch name> 的那個分支 例如現在有兩個分支,master和b1 master 分支下有一個commit: commit1: add test1.c b1分支下有兩個commit: commit2: add test2.c commit1: add test1.c 如果在master分支下checkout,即: git checkout master //進入master分支 git checkout -b frommaster //以master為源創建分支frommaster git log后發現frommaster中有一個提交: commit1: add test1.c 這說明他是從master分支為源頭創建的 如果在b1分支下checkout,即: git checkout b1 //進入master分支 git checkout -b fromb1 //以b1為源創建分支fromb1 git log后發現fromb1中已經有兩個提交: commit2: add test2.c commit1: add test1.c 這說明他是從b1分支為源頭創建的 遠程分支的創建 從遠程分支檢出的本地分支,稱為跟蹤分支(tracking branch)。跟蹤分支是一種和遠程 把它們的數據都合並到本地分支中來.
$ git push ssh://git@dev.lemote.com/rt4ls.git master // 把本地倉庫提交到遠程倉庫的master分支中
$ git remote add origin ssh://git@dev.lemote.com/rt4ls.git $ git push origin master 這兩個操作是等價的,第二個操作的第一行的意思是添加一個標記,讓origin指向ssh://git@dev.lemote.com /rt4ls.git,也就是說你操 作origin的時候,實際上就是在操作ssh://git@dev.lemote.com/rt4ls.git。origin在這里完全可以理解為后者 的別名。 需要說明的是,默認情況下這條語句等價於提交本地的master倉庫到遠程倉庫,並作為遠程的master分支。 我從master分支創建了一個issue5560分支,做了一些修改后,使用git push origin master提交,但是顯示的結果卻是'Everything up-to-date',發生問題的原因是git push origin master 在沒有track遠程分支的本地分支中默認提交的master分支,因為master分支默認指向了origin master 分支,這里要使用git push origin issue5560:master 就可以把issue5560推送到遠程的master分支了。 如果想把本地的某個分支test提交到遠程倉庫,並作為遠程倉庫的master分支,或者作為另外一個名叫test的分支,那么可以這么做。$ git push origin test:master // 提交本地test分支作為遠程的master分支 $ git push origin test:test // 提交本地test分支作為遠程的test分支 如果想刪除遠程的分支呢?類似於上面,如果:左邊的分支為空,那么將刪除:右邊的遠程的分支。 $ git push origin :test // 剛提交到遠程的test將被刪除,但是本地還會保存的,不用擔心
|