git 本地分支與遠程分支那些事

#git從本地到遠程 ##從遠程到本地 最開始的時候都是在遠程建立一個項目而後在git clone到本地,例如,能夠在osc-git上建立一個項目而後執行下面的命令:git

git clone https://git.oschina.net/trayvon/spring-aop.gitspring

而後把項目導入IDE就能夠了。fetch

##從本地到遠程 如今我在本地已經有一個項目了,想要發佈出去怎麼辦呢? 首先,你須要在本地項目的根目錄下執行下面的命令:.net

git initxml

這個命令是初始化git目錄,把目錄歸入git管理 而後,仍是須要在遠程建立一個項目例如osc-git或者gitHub上建立一個項目。獲取項目的連接。而後就能夠添加一個遠程連接了。命令以下:rem

git remote add origin https://git.oschina.net/trayvon/spring-aop.gitget

這個命令是給遠程的庫https://git.oschina.net/trayvon/spring-aop.git取了一個別名origin,若是你願意也能夠取其它名字,但建議使用origin由於不少默認使用的就是這個,能夠簡化命令。你能夠經過下面的命令來查看有哪些遠程庫:it

git remote -vast

接下來就能夠用咱們慣用的命令把本地分支推送到遠程庫了:stream

git push origin master

理想很豐滿,現實真骨幹。你會獲得相似於 *src refspec master does not match any.*這樣的錯誤。這是由於尚未master分支。 特別值得注意的是git在第一次commit以後纔會建立master分支 咱們先添加一個文件,commit一次:

git add pom.xml

git commit -m 'add pom.xml'

接下來還須要關聯一下本地分支和遠程分支:

git branch --set-upstream-to=origin/master master

上面的命令是把origin表明的遠程庫的master分支和本地的master分支關聯起來 接下來接能夠方便的使用下面2個命令了:

git pull git push origin master

##總結 git pull的完整命令:

git pull <遠程主機名> <遠程分支名>:<本地分支名>

若是本地分支是當前分支就能夠省略:

git pull <遠程主機名> <遠程分支名>

若是遠程分支和當前分支名稱相同,則分支名稱能夠省略

git pull <遠程主機名>

當遠程分支名稱是origin的時候就是:

git pull origin

由於默認的遠程分支名稱就是origin,因此就變成了:

git pull

git pull是從遠程拿了分支,並在執行了git merge,至關於:

git fetch <遠程主機名> git merge <遠程主機名>/<遠程分支名>

git clone命令默認本地與遠程同名的分支創建了追蹤關係,因此能夠直接:

git pull

git push的完整命令:

git push <遠程主機名> <本地分支名>:<遠程分支名>

若是遠程分支與本地分支同名就能夠直接省略遠程分支:

git push <遠程主機名> <本地分支名>

若是當前分支與遠程分支存在關聯關係就能夠省略本地分支:

git push <遠程主機名>

若是當前分支只有一個追蹤分支就能夠省略主機名:

git push

若是當前分支與多個主機存在追蹤關係,則可使用-u選項指定一個默認主機:

git push -u origin master

這樣就能夠直接使用

git push

相關文章
相關標籤/搜索