克隆遠程倉庫:git clone git://github.com/jquery/jquery.git 查看遠程倉庫:git remote -v 添加遠程倉庫:git remote add [name] [url] 刪除遠程倉庫:git remote rm [name] 修改遠程倉庫:git remote set-url --push [remoteName] [newUrl] 拉取遠程倉庫:git pull [remoteName] [remoteBranchName]:[localBranchName] 推送遠程倉庫:git push [remoteName] [localBranchName]:[remoteBranchName]
查看本地分支:git branch 查看遠程分支:git branch -r 查看全部分支:git branch -a 建立本地分支:git branch [name] // 注意新分支建立後不會自動切換爲當前分支 切換分支:git checkout [branchName] 建立新分支並當即切換到新分支:git checkout -b [name] 合併分支:git merge [branchName] // 將名稱爲[branchName]的分支合併到當前分支 將本地分支push到遠程:git push [remoteName] [localBranchName]:[remoteBranchName] // 若是遠程分支不存在,則自動建立遠程分支 刪除本地分支:git branch -d [branchName] // [-d]選項只能刪除已經參與了合併的分支,對於未有合併的分支是沒法刪除的。若是想強制刪除一個分支,可使用 [-D] 選項 刪除遠程分支: 在Git v1.7.0 以後,可使用這種語法刪除遠程分支:git push --delete origin branchName 不然,可使用這種語法,推送一個空分支到遠程分支,其實就至關於刪除遠程分支:git push origin :[remoteBranchName]
一、若是本地分支和遠程分支存在對應關係,則能夠直接在分支下使用 git push
或 git pull
作相應操做。html
二、若是本地分支和遠程分支不存在對應關係,則能夠以下設置對應關係。node
若是是遠程建立的分支,pull / fetch 遠程信息到本地,分支間是存在對應關係的。
若是是本地新建分支提交到遠程上,是不會存在對應關係的。jquery
// 先提交本地建立的分支到遠程 git push origin test:test // 再創建關聯 語法糖:git branch --set-upstream-to [remoteName]/[remoteBranch] [localBranch] 示例:git branch --set-upstream-to origin/test test
三、查看遠程倉庫分支與本地倉庫分支的對應關係(pull, push),如以 origin 倉庫爲例:git
亦顯示遠程庫 origin 裏的資源github
git remote show origin
四、本地的某個分支提交到遠程倉庫某個分支,以本地 test 分支爲例,以下:shell
git push [remoteName] test:master // 提交本地 test 分支做爲遠程的 master 分支 git push [remoteName] test:test // 提交本地 test 分支做爲遠程的 test 分支
五、將代碼提交到多個不一樣倉庫的不一樣分支: https://www.v2ex.com/t/95460緩存
git remote add github [url] git remote add gitcafe [url] git push github master:master git push gitcafe master:cafe-pages
針對將已提交到版本庫或緩存區的文件恢復到以前的某個版本。編輯器
回撤命令模板:git reset [--param] [commit id] 回撤到指定版本:git reset --hard 9ca489438651f44cf65366e3bfab09527c8235ae 【日誌上的commit id】 回撤到上1個版本:git reset --hard HEAD^ 回撤到上2個版本:git reset --hard HEAD^^ 回撤到上10個版本:git reset --hard HEAD~10 回撤到上0個版本:git reset --hard HEAD // 即本地倉庫最新的版本 回撤到遠程的上0個版本: git reset –-hard [remoteName]/[branchName] // 即遠程倉庫最新的版本,如:git reset –-hard origin/master 回撤參數解釋: --mixed reset HEAD and index 默認選項。版本庫和緩存區都滾到指定的版本,但工做目錄不受影響 --soft reset only HEAD 僅僅回撤版本庫,緩存區和工做目錄都不會被改變 --hard reset HEAD, index and working tree 全部文件都不會保留 --merge reset HEAD, index and working tree 合併指定版本與如今暫存區與工做區的文件 --keep reset HEAD but keep local changes
針對將已修改的工做區文件,但還未提交到版本庫或緩存區時,恢復到未修改的狀態。
( 相似 WebStorm 編輯器裏的 revert,這裏的 revert 還能夠回撤已經提交到緩存區的文件)工具
撤銷未提交的某個修改:git checkout dev/filename.js 撤銷全部未提交的修改:git checkout .
查看當前項目的配置信息:git config --list 設置當前項目做者名稱:git config user.name [userName] 設置當前項目做者郵箱:git config user.email [email] 設置別名,簡寫操做:git config --global alias.[aliasName] [commandName] // 如:git config --global alias.st status, 這樣,之前用 git status 查看文件狀態,如今就能夠用 git st。 本地配置路徑: [當前項目]/.git/config 全局配置路徑: [用戶]/.gitconfig 配置能夠直接編輯 .gitconfig 文件,更方便,以下: [user] name = Barrior email = barrior@qq.com [alias] st = status co = checkout br = branch ci = commit
這個應該用工具看才更直觀。字體
查看工做區與版本之間的差別:git diff [file] 查看緩存區與版本之間的差別:git diff --cached [file] 或 git diff --staged [file] // 若是沒有file,則列出全部文件的差別
查看當前狀態:git status 提交某個文件(工做區)到緩存區:git add [path] // [path]能夠是文件也能夠是目錄 提交全部文件到緩存區:git add . 提交緩存區文件到版本庫:git commit -m 'message' 直接提交工做區文件到版本庫:git commit -am 'message' // [-a]表明add,注:這個命令會提交全部修改的文件,但不會提交新建的文件 查看提交日誌:git log 查看指定文件的提交歷史:git log -p [file] 將文件push到一個臨時空間:git stash push 將文件從臨時空間pop下來:git stash pop
.gitignore 配置文件用於配置不須要加入版本管理的文件,可在 Git Bash 中使用shell命令 touch .gitignore 建立這個文件
一、配置語法:
以井號 「#」 開頭的行視爲註釋。
以斜槓 「/」 開頭表示目錄。
以星號 「*」 通配多個字符。
以問號 「?」 通配單個字符。
以方括號 「[]」 包含單個字符的匹配列表。
以感嘆號 「!」 表示不忽略先前模式排除的文件或目錄,若是排除該文件的父目錄,則沒法從新包括該文件。
二、示例:
規則:test/* 說明:忽略 test 目錄下的所有內容;注意,不論是根目錄下的 /test/ 目錄,仍是某個子目錄 /child/test/ 目錄,都會被忽略 規則:/test/* 說明:忽略根目錄下的 /test/ 目錄的所有內容 規則:test 說明:忽略 test 文件和 test 目錄 規則:test/ 說明:只忽略 test 目錄,不忽略 test 文件 規則:test !test/ 說明:只忽略 test 文件,不忽略 test 目錄 規則:/test 說明:只忽略當前目錄下的 test 文件和目錄,子目錄的 test 不在忽略範圍內 規則:*.[oa] 說明:忽略全部以 .o 或 .a 結束的文件 規則:**/node_modules/ 說明:忽略全部文件夾下命名爲 node_modules 的文件夾,和直接寫 node_modules/ 同樣
三、示例:
規則: /* !/test /test/* !/test/inner.js 說明:忽略所有內容,可是不忽略根目錄下的 /test 目錄和 /test/inner.js 文件
在 Git Bash 命令行終端,右鍵選擇 Options, 裏面有不少顯示設置,如設置默認終端尺寸,透明度,字體大小等,可讓視覺更舒服。
設置完畢後,在 [用戶] 文件夾下會生成一個 .minttyrc 文件,保存文件到雲上,之後重裝系統或其餘電腦用,直接黏貼到機子 [用戶] 文件夾下就能夠用了。
Git 經常使用命令大全:http://blog.csdn.net/dengsilinming/article/details/8000622
Git 官網:https://git-scm.com/book/zh/v2
http://www.cnblogs.com/haiq/archive/2012/12/26/2833746.html
http://blog.csdn.net/benkaoya/article/details/7932370
其餘資源