一、 Git 常用命令速查
git branch
查看本地所有分支
git status
查看當(dāng)前狀態(tài)
git commit
提交
git branch -a
查看所有的分支
git branch -r
查看遠(yuǎn)程所有分支
git commit -am "init"
提交并且加注釋
git remote add origin git@192.168.1.119:ndshow
git push origin master
將文件給推到服務(wù)器上
git remote show origin
顯示遠(yuǎn)程庫(kù)origin
里的資源
git push origin master:develop
git push origin master:hb-dev
將本地庫(kù)與服務(wù)器上的庫(kù)進(jìn)行關(guān)聯(lián)
git checkout --track origin/dev
切換到遠(yuǎn)程dev
分支
git branch -D master develop
刪除本地庫(kù)develop
git checkout -b dev
建立一個(gè)新的本地分支dev
git merge origin/dev
將分支dev
與當(dāng)前分支進(jìn)行合并
git checkout dev
切換到本地dev
分支
git remote show
查看遠(yuǎn)程庫(kù)
git add
添加至?xí)捍鎱^(qū)
git rm
文件名(包括路徑) 從git
中刪除指定文件
git clone git://github.com/schacon/grit.git
從服務(wù)器上將代碼給拉下來(lái)
git config --list
看所有用戶
git ls-files
看已經(jīng)被提交的
git rm [file name]
刪除一個(gè)文件
git commit -a
提交當(dāng)前repos
的所有的改變
git add [file name]
添加一個(gè)文件到git index
git commit -v
當(dāng)你用 -v
參數(shù)的時(shí)候可以看commit
的差異
git commit -m "This is the message describing the commit"
添加commit
信息
git commit -a
-a
是代表add
谜嫉,把所有的change
加到git index
里然后再commit
git commit -a -v
一般提交命令
git log
看你commit
的日志
git diff
查看尚未暫存的更新
git rm a.a
移除文件(從暫存區(qū)和工作區(qū)中刪除)
git rm --cached a.a
移除文件(只從暫存區(qū)中刪除)
git commit -m "remove"
移除文件(從Git
中刪除)
git rm -f a.a
強(qiáng)行移除修改后文件(從暫存區(qū)和工作區(qū)中刪除)
git diff --cached
或 $ git diff --staged
查看尚未提交的更新
git stash push
將文件給push
到一個(gè)臨時(shí)空間中
git stash pop
將文件從臨時(shí)空間pop
下來(lái)
git remote add origin git@github.com:username/Hello-World.git
git push origin master
將本地項(xiàng)目給提交到服務(wù)器中
git pull
本地與服務(wù)器端同步
git push
(遠(yuǎn)程倉(cāng)庫(kù)名) (分支名) 將本地分支推送到服務(wù)器上去症汹。
git push origin serverfix:awesomebranch
git fetch
相當(dāng)于是從遠(yuǎn)程獲取最新版本到本地养篓,不會(huì)自動(dòng)merge
git commit -a -m "log_message"
(-a
是提交所有改動(dòng),-m
是加入 log
信息) 本地修改同步至服務(wù)器端 :
git branch branch_0.1 master
從主分支 master
創(chuàng)建 branch_0.1
分支
git branch -m branch_0.1 branch_1.0
將 branch_0.1
重命名為 anch_1.0
git checkout branch_1.0/master
切換到 branch_1.0/master
分支
du -hs
git branch
刪除遠(yuǎn)程 branch
git push origin :branch_remote_name
git branch -r -d branch_remote_name
初始化版本庫(kù),并提交到遠(yuǎn)程服務(wù)器端
mkdir WebApp
cd WebApp
git init
本地初始化
touch README
git add README
添加文件
git commit -m 'first commit'
git remote add origin git@github.com:daixu/WebApp.git
增加一個(gè)遠(yuǎn)程服務(wù)器端
上面的命令會(huì)增加URL
地址為'git@github.com:daixu/WebApp.git'
,名稱為origin
的遠(yuǎn)程服務(wù)器庫(kù)棋凳,以后提交代碼的時(shí)候只需要使用 origin別名即可
二、 Git 命令速查表
1连躏、常用的Git命令
git add
添加至?xí)捍鎱^(qū)
git add–interactive
交互式添加
git apply
應(yīng)用補(bǔ)丁
git am
應(yīng)用郵件格式補(bǔ)丁
git annotate
同義詞剩岳,等同于 git blame
git archive
文件歸檔打包
git bisect
二分查找
git blame
文件逐行追溯
git branch
分支管理
git cat-file
版本庫(kù)對(duì)象研究工具
git checkout
檢出到工作區(qū)、切換或創(chuàng)建分支
git cherry-pick
提交揀選
git citool
圖形化提交入热,相當(dāng)于 git gui
命令
git clean
清除工作區(qū)未跟蹤文件
git clone
克隆版本庫(kù)
git commit
提交
git config
查詢和修改配置
git describe
通過(guò)里程碑直觀地顯示提交ID
git diff
差異比較
git difftool
調(diào)用圖形化差異比較工具
git fetch
獲取遠(yuǎn)程版本庫(kù)的提交
git format-patch
創(chuàng)建郵件格式的補(bǔ)丁文件拍棕。參見 git am
命令
git grep
文件內(nèi)容搜索定位工具
git gui
基于Tcl/Tk的圖形化工具,側(cè)重提交等操作
git help
幫助
git init
版本庫(kù)初始化
-
git init-db
同義詞勺良,等同于git init
git log
顯示提交日志
git merge
分支合并
git mergetool
圖形化沖突解決
git mv
重命名
git pull
拉回遠(yuǎn)程版本庫(kù)的提交
git push
推送至遠(yuǎn)程版本庫(kù)
git rebase
分支變基
git rebase–interactive
交互式分支變基
git reflog
分支等引用變更記錄管理
git remote
遠(yuǎn)程版本庫(kù)管理
-
git repo-config
同義詞莫湘,等同于git config
git reset
重置改變分支“游標(biāo)”指向
git rev-parse
將各種引用表示法轉(zhuǎn)換為哈希值等
git revert
反轉(zhuǎn)提交
git rm
刪除文件
git show
顯示各種類型的對(duì)象
-
git stage
同義詞,等同于git add
git stash
保存和恢復(fù)進(jìn)度
git status
顯示工作區(qū)文件狀態(tài)
git tag
里程碑管理
2郑气、對(duì)象庫(kù)操作相關(guān)命令
git commit-tree
從樹對(duì)象創(chuàng)建提交
git hash-object
從標(biāo)準(zhǔn)輸入或文件計(jì)算哈希值或創(chuàng)建對(duì)象
git ls-files
顯示工作區(qū)和暫存區(qū)文件
git ls-tree
顯示樹對(duì)象包含的文件
git mktag
讀取標(biāo)準(zhǔn)輸入創(chuàng)建一個(gè)里程碑對(duì)象
git mktree
讀取標(biāo)準(zhǔn)輸入創(chuàng)建一個(gè)樹對(duì)象
git read-tree
讀取樹對(duì)象到暫存區(qū)
git update-index
工作區(qū)內(nèi)容注冊(cè)到暫存區(qū)及暫存區(qū)管理
git unpack-file
創(chuàng)建臨時(shí)文件包含指定 blob
的內(nèi)容
git write-tree
從暫存區(qū)創(chuàng)建一個(gè)樹對(duì)象
3、引用操作相關(guān)命令
git check-ref-format
檢查引用名稱是否符合規(guī)范
git for-each-ref
引用迭代器腰池,用于shell
編程
git ls-remote
顯示遠(yuǎn)程版本庫(kù)的引用
git name-rev
將提交ID
顯示為友好名稱
-
git peek-remote
過(guò)時(shí)命令尾组,請(qǐng)使用git ls-remote
git rev-list
顯示版本范圍
git show-branch
顯示分支列表及拓?fù)潢P(guān)系
git show-ref
顯示本地引用
git symbolic-ref
顯示或者設(shè)置符號(hào)引用
git update-ref
更新引用的指向
git verify-tag
校驗(yàn) GPG
簽名的Tag
4、版本庫(kù)管理相關(guān)命令
git count-objects
顯示松散對(duì)象的數(shù)量和磁盤占用
git filter-branch
版本庫(kù)重構(gòu)
git fsck
對(duì)象庫(kù)完整性檢查
-
git fsck-objects
同義詞示弓,等同于git fsck
git gc
版本庫(kù)存儲(chǔ)優(yōu)化
git index-pack
從打包文件創(chuàng)建對(duì)應(yīng)的索引文件
-
git lost-found
過(guò)時(shí)命令讳侨,請(qǐng)使用git fsck –lost-found
命令
git pack-objects
從標(biāo)準(zhǔn)輸入讀入對(duì)象ID
,打包到文件
git pack-redundant
查找多余的 pack
文件
git pack-refs
將引用打包到 .git/packed-refs
文件中
git prune
從對(duì)象庫(kù)刪除過(guò)期對(duì)象
git prune-packed
將已經(jīng)打包的松散對(duì)象刪除
git relink
為本地版本庫(kù)中相同的對(duì)象建立硬連接
git repack
將版本庫(kù)未打包的松散對(duì)象打包
git show-index
讀取包的索引文件奏属,顯示打包文件中的內(nèi)容
git unpack-objects
從打包文件釋放文件
git verify-pack
校驗(yàn)對(duì)象庫(kù)打包文件
5跨跨、數(shù)據(jù)傳輸相關(guān)命令
git fetch-pack
執(zhí)行 git fetch
或 git pull
命令時(shí)在本地執(zhí)行此命令,用于從其他版本庫(kù)獲取缺失的對(duì)象
git receive-pack
執(zhí)行 git push
命令時(shí)在遠(yuǎn)程執(zhí)行的命令,用于接受推送的數(shù)據(jù)
git send-pack
執(zhí)行 git push
命令時(shí)在本地執(zhí)行的命令勇婴,用于向其他版本庫(kù)推送數(shù)據(jù)
git upload-archive
執(zhí)行 git archive –remote
命令基于遠(yuǎn)程版本庫(kù)創(chuàng)建歸檔時(shí)忱嘹,遠(yuǎn)程版本庫(kù)執(zhí)行此命令傳送歸檔
git upload-pack
執(zhí)行 git fetch
或 git pull
命令時(shí)在遠(yuǎn)程執(zhí)行此命令,將對(duì)象打包耕渴、上傳
6拘悦、郵件相關(guān)命令
git imap-send
將補(bǔ)丁通過(guò) IMAP
發(fā)送
git mailinfo
從郵件導(dǎo)出提交說(shuō)明和補(bǔ)丁
git mailsplit
將 mbox
或 Maildir
格式郵箱中郵件逐一提取為文件
git request-pull
創(chuàng)建包含提交間差異和執(zhí)行PULL
操作地址的信息
git send-email
發(fā)送郵件
7、協(xié)議相關(guān)命令
git daemon
實(shí)現(xiàn)Git
協(xié)議
git http-backend
實(shí)現(xiàn)HTTP
協(xié)議的CGI
程序橱脸,支持智能HTTP
協(xié)議
git instaweb
即時(shí)啟動(dòng)瀏覽器通過(guò) gitweb
瀏覽當(dāng)前版本庫(kù)
git shell
受限制的shell
础米,提供僅執(zhí)行Git
命令的SSH
訪問(wèn)
git update-server-info
更新啞協(xié)議需要的輔助文件
git http-fetch
通過(guò)HTTP
協(xié)議獲取版本庫(kù)
git http-push
通過(guò)HTTP/DAV
協(xié)議推送
git remote-ext
由Git
命令調(diào)用,通過(guò)外部命令提供擴(kuò)展協(xié)議支持
git remote-fd
由Git
命令調(diào)用添诉,使用文件描述符作為協(xié)議接口
git remote-ftp
由Git
命令調(diào)用屁桑,提供對(duì)FTP
協(xié)議的支持
git remote-ftps
由Git
命令調(diào)用,提供對(duì)FTPS
協(xié)議的支持
git remote-http
由Git
命令調(diào)用栏赴,提供對(duì)HTTP
協(xié)議的支持
git remote-https
由Git
命令調(diào)用蘑斧,提供對(duì)HTTPS
協(xié)議的支持
git remote-testgit
協(xié)議擴(kuò)展示例腳本
8、版本庫(kù)轉(zhuǎn)換和交互相關(guān)命令
git archimport
導(dǎo)入Arch
版本庫(kù)到Git
git bundle
提交打包和解包艾帐,以便在不同版本庫(kù)間傳遞
git cvsexportcommit
將Git
的一個(gè)提交作為一個(gè)CVS
檢出
git cvsimport
導(dǎo)入CVS
版本庫(kù)到Git
乌叶。或者使用 cvs2git
git cvsserverGit
的CVS
協(xié)議模擬器柒爸,可供CVS
命令訪問(wèn)Git
版本庫(kù)
git fast-export
將提交導(dǎo)出為 git-fast-import
格式
git fast-import
其他版本庫(kù)遷移至Git
的通用工具
git svnGit
作為前端操作 Subversion
9准浴、合并相關(guān)的輔助命令
git merge-base
供其他腳本調(diào)用,找到兩個(gè)或多個(gè)提交最近的共同祖先
git merge-file
針對(duì)文件的兩個(gè)不同版本執(zhí)行三向文件合并
git merge-index
對(duì)index
中的沖突文件調(diào)用指定的沖突解決工具
git merge-octopus
合并兩個(gè)以上分支捎稚。參見 git merge
的octopus
合并策略
git merge-one-file
由 git merge-index
調(diào)用的標(biāo)準(zhǔn)輔助程序
git merge-ours
合并使用本地版本乐横,拋棄他人版本。參見 git merge
的ours
合并策略
git merge-recursive
針對(duì)兩個(gè)分支的三向合并今野。參見 git merge
的recursive
合并策略
git merge-resolve
針對(duì)兩個(gè)分支的三向合并葡公。參見 git merge
的resolve
合并策略
git merge-subtree
子樹合并。參見 git merge
的 subtree
合并策略
git merge-tree
顯式三向合并結(jié)果条霜,不改變暫存區(qū)
git fmt-merge-msg
供執(zhí)行合并操作的腳本調(diào)用催什,用于創(chuàng)建一個(gè)合并提交說(shuō)明
git rerere
重用所記錄的沖突解決方案
10、 雜項(xiàng)
git bisect–helper
由 git bisect
命令調(diào)用宰睡,確認(rèn)二分查找進(jìn)度
git check-attr
顯示某個(gè)文件是否設(shè)置了某個(gè)屬性
git checkout-index
從暫存區(qū)拷貝文件至工作區(qū)
git cherry
查找沒有合并到上游的提交
git diff-files
比較暫存區(qū)和工作區(qū)蒲凶,相當(dāng)于 git diff –raw
git diff-index
比較暫存區(qū)和版本庫(kù),相當(dāng)于 git diff –cached –raw
git diff-tree
比較兩個(gè)樹對(duì)象拆内,相當(dāng)于 git diff –raw A B
git difftool–helper
由 git difftool
命令調(diào)用旋圆,默認(rèn)要使用的差異比較工具
git get-tar-commit-id
從 git archive
創(chuàng)建的 tar
包中提取提交ID
git gui–askpass
命令 git gui
的獲取用戶口令輸入界面
git notes
提交評(píng)論管理
git patch-id
補(bǔ)丁過(guò)濾行號(hào)和空白字符后生成補(bǔ)丁唯一ID
git quiltimport
將Quilt
補(bǔ)丁列表應(yīng)用到當(dāng)前分支
git replace
提交替換
git shortlog
對(duì) git log
的匯總輸出,適合于產(chǎn)品發(fā)布說(shuō)明
git stripspace
刪除空行麸恍,供其他腳本調(diào)用
git submodule
子模組管理
-
git tar-tree
過(guò)時(shí)命令灵巧,請(qǐng)使用git archive
git var
顯示 Git
環(huán)境變量
git web–browse
啟動(dòng)瀏覽器以查看目錄或文件
git whatchanged
顯示提交歷史及每次提交的改動(dòng)
git-mergetool–lib
包含于其他腳本中,提供合并/差異比較工具的選擇和執(zhí)行
git-parse-remote
包含于其他腳本中,提供操作遠(yuǎn)程版本庫(kù)的函數(shù)
git-sh-setup
包含于其他腳本中刻肄,提供 shell
編程的函數(shù)庫(kù)
轉(zhuǎn)載自文章:http://www.reibang.com/p/0f50b271335d