git命令手冊

git config

一、配置全局用戶名
git config --global user.name "你的名字" git

二、配置全局email
git config --global user.email "你的Email"ssh

git clone

在git clone的時候,全部本地分支默認與遠程主機的同名分支,創建追蹤關係,也就是說,本地的master分支自動"追蹤"origin/master分支。fetch

一、從遠程主機克隆一個版本庫,到本地生成的同名目錄
git clone <版本庫的網址>code

二、從遠程主機克隆一個版本庫,到本地指定的目錄
git clone <版本庫的網址> <本地目錄名>開發

三、git clone支持HTTP(s)、SSH、Git、本地文件協議等多種協議rem

$ git clone http[s]://example.com/path/to/repo.git/
$ git clone ssh://example.com/path/to/repo.git/
$ git clone [user@]example.com:path/to/repo.git/
$ git clone git://example.com/path/to/repo.git/
$ git clone /opt/git/project.git 
$ git clone file:///opt/git/project.git
$ git clone ftp[s]://example.com/path/to/repo.git/
$ git clone rsync://example.com/path/to/repo.git/

四、克隆指定主機名的版本庫
git clone -o <指定主機名> <版本庫網址>email

git remote

Git要求每一個遠程主機都必須指定一個主機名,git默認的遠程主機名爲origin,git remote命令就用於管理主機名。

一、列出全部遠程主機
git remote
二、查看遠程主機地址
git remote -v
三、查看指定主機的詳細信息
git remote show <主機名>
四、添加遠程主機
git remote add <主機名> <網址>
五、刪除遠程主機
git remote rm <主機名>
六、修改遠程主機名
git remote rename <原主機名> <新主機名>

git fetch

遠程主機的版本庫有了更新,該命令能夠將這些更新取回本地,fetch取回的代碼不會和本地的代碼合併,所以經常使用來看別人的開發進度。

一、獲取遠程主機的更新到本地(默認取回全部分支)
git fetch <遠程主機名>
二、獲取遠程主機指定分支的更新到本地
git fetch <遠程主機名> <分支名>

所取回的更新,在本地主機上要用"遠程主機名/分支名"的形式讀取。好比origin主機的master,就要用origin/master讀取。

git branch

一、查看全部分支

$ git branch -a
* master  //本地主機的當前分支是master
remotes/origin/master  //遠程分支是origin/master

二、查看遠程分支
git branch -r
三、手動創建追蹤關係
git branch --set-upstream <本地分支名> <遠程分支名(如origin/next)>

git checkout

一、建立新分支(在取回的遠程分支基礎上 fetch+branch)
git checkout -b <新分支名> <遠程分支名(如origin/master)>

git merge

一、合併分支(在當前本地分支上,合併遠程分支)
git merge <遠程分支名(如origin/master)>

git rebase

一、合併分支(在當前本地分支上,合併遠程分支)
git merge <遠程分支名(如origin/master)>

git pull

取回遠程分支的更新,並與本地分支合併。fetch+merge

一、取回遠程分支,和當前本地分支合併
git pull <遠程主機名> <遠程分支名>
二、取回遠程分支,和指定本地分支合併
git pull <遠程主機名> <遠程分支名>:<本地分支名>
三、省略寫法1:當前本地分支和遠程分支,存在追蹤關係
git pull origin
四、省略寫法2:當前本地分支只有一個追蹤分支
git pull
五、rebase方式合併
git pull --rebase <遠程主機名> <遠程分支名>:<本地分支名>

若是遠程主機刪除了某個分支,默認狀況下,git pull不會在拉取遠程分支的時候,刪除對應的本地分支。這是爲了防止,因爲其餘人操做了遠程主機,致使git pull不知不覺刪除了本地分支。可是參數 -p能夠在本地刪除遠程已經刪除的分支

六、刪除(已刪除的遠程分支)對應的本地分支

git pull -p
# 等同於下列寫法
git fetch --prune origin
git fetch -p

git push

該命令將本地分支的更新,推送到遠程主機

一、推送本地更新到遠程分支(徹底寫法)
git push <遠程主機名> <本地分支名>:<遠程主機名>
二、推送本地更新到遠程分支(具備追蹤關係)

git push origin master 
 //將本地的master分支推送到origin主機的master分支。若是後者不存在,則會被新建。

三、推送本地分支到遠程分支(刪除遠程分支)

git push <遠程主機名> :<遠程分支>
$ git push origin  :master
# 等同於
$ git push origin --delete master
相關文章
相關標籤/搜索