Git命令大全

一脯丝、 Git 常用命令速查

git branch 查看本地所有分支
git status 查看當(dāng)前狀態(tài)
git commit 提交
git branch -a 查看所有的分支
git branch -r 查看遠程所有分支
git commit -am "init" 提交并且加注釋
git remote add origin git@192.168.1.119:ndshow
git push origin master 將文件給推到服務(wù)器上
git remote show origin 顯示遠程庫origin里的資源
git push origin master:develop
git push origin master:hb-dev 將本地庫與服務(wù)器上的庫進行關(guān)聯(lián)
git checkout --track origin/dev 切換到遠程dev分支
git branch -D master develop 刪除本地庫develop
git checkout -b dev 建立一個新的本地分支dev
git merge origin/dev 將分支dev與當(dāng)前分支進行合并
git checkout dev 切換到本地dev分支
git remote show 查看遠程庫
git add .
git rm 文件名(包括路徑) 從git中刪除指定文件
git clone git://github.com/schacon/grit.git 從服務(wù)器上將代碼給拉下來
git config --list 看所有用戶
git ls-files 看已經(jīng)被提交的
git rm [file name] 刪除一個文件
git commit -a 提交當(dāng)前repos的所有的改變
git add [file name] 添加一個文件到git index
git commit -v 當(dāng)你用-v參數(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 強行移除修改后文件(從暫存區(qū)和工作區(qū)中刪除)
git diff --cached 或 $ git diff --staged 查看尚未提交的更新
git stash push 將文件給push到一個臨時空間中

git stash pop 將文件從臨時空間pop下來

git remote add origin git@github.com:username/Hello-World.git

git push origin master 將本地項目給提交到服務(wù)器中

git pull 本地與服務(wù)器端同步

git push (遠程倉庫名) (分支名) 將本地分支推送到服務(wù)器上去檐涝。
git push origin serverfix:awesomebranch


git fetch 相當(dāng)于是從遠程獲取最新版本到本地悔雹,不會自動merge
git commit -a -m "log_message" (-a是提交所有改動,-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重命名為branch_1.0
git checkout branch_1.0/master 切換到branch_1.0/master分支
du -hs

git branch 刪除遠程branch
git push origin :branch_remote_name
git branch -r -d branch_remote_name


初始化版本庫,并提交到遠程服務(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

增加一個遠程服務(wù)器端

上面的命令會增加URL地址為'git@github.com:daixu/WebApp.git'侨把,名稱為origin的遠程服務(wù)器庫犀变,以后提交代碼的時候只需要使用 origin別名即可

二、 Git 命令速查表

1秋柄、常用的Git 命令

命令 簡要說明
git add 添加至?xí)捍鎱^(qū)
git add–interactive 交互式添加
git apply 應(yīng)用補丁
git am 應(yīng)用郵件格式補丁
git annotate 同義詞获枝,等同于 git blame
git archive 文件歸檔打包
git bisect 二分查找
git blame 文件逐行追溯
git branch 分支管理
git cat-file 版本庫對象研究工具
git checkout 檢出到工作區(qū)、切換或創(chuàng)建分支
git cherry-pick 提交揀選
git citool 圖形化提交骇笔,相當(dāng)于 git gui 命令
git clean 清除工作區(qū)未跟蹤文件
git clone 克隆版本庫
git commit 提交
git config 查詢和修改配置
git describe 通過里程碑直觀地顯示提交ID
git diff 差異比較
git difftool 調(diào)用圖形化差異比較工具
git fetch 獲取遠程版本庫的提交
git format-patch 創(chuàng)建郵件格式的補丁文件省店。參見 git am 命令
git grep 文件內(nèi)容搜索定位工具
git gui 基于Tcl/Tk的圖形化工具,側(cè)重提交等操作
git help 幫助
git init 版本庫初始化
git init-db* 同義詞笨触,等同于 git init
git log 顯示提交日志
git merge 分支合并
git mergetool 圖形化沖突解決
git mv 重命名
git pull 拉回遠程版本庫的提交
git push 推送至遠程版本庫
git rebase 分支變基
git rebase–interactive 交互式分支變基
git reflog 分支等引用變更記錄管理
git remote 遠程版本庫管理
git repo-config* 同義詞懦傍,等同于 git config
git reset 重置改變分支“游標(biāo)”指向
git rev-parse 將各種引用表示法轉(zhuǎn)換為哈希值等
git revert 反轉(zhuǎn)提交
git rm 刪除文件
git show 顯示各種類型的對象
git stage* 同義詞,等同于 git add
git stash 保存和恢復(fù)進度
git status 顯示工作區(qū)文件狀態(tài)
git tag 里程碑管理

2芦劣、對象庫操作相關(guān)命令

命令 簡要說明
git commit-tree 從樹對象創(chuàng)建提交
git hash-object 從標(biāo)準(zhǔn)輸入或文件計算哈希值或創(chuàng)建對象
git ls-files 顯示工作區(qū)和暫存區(qū)文件
git ls-tree 顯示樹對象包含的文件
git mktag 讀取標(biāo)準(zhǔn)輸入創(chuàng)建一個里程碑對象
git mktree 讀取標(biāo)準(zhǔn)輸入創(chuàng)建一個樹對象
git read-tree 讀取樹對象到暫存區(qū)
git update-index 工作區(qū)內(nèi)容注冊到暫存區(qū)及暫存區(qū)管理
git unpack-file 創(chuàng)建臨時文件包含指定 blob 的內(nèi)容
git write-tree 從暫存區(qū)創(chuàng)建一個樹對象

3粗俱、引用操作相關(guān)命令

命令 簡要說明
git check-ref-format 檢查引用名稱是否符合規(guī)范
git for-each-ref 引用迭代器,用于shell編程
git ls-remote 顯示遠程版本庫的引用
git name-rev 將提交ID顯示為友好名稱
git peek-remote* 過時命令虚吟,請使用 git ls-remote
git rev-list 顯示版本范圍
git show-branch 顯示分支列表及拓撲關(guān)系
git show-ref 顯示本地引用
git symbolic-ref 顯示或者設(shè)置符號引用
git update-ref 更新引用的指向
git verify-tag 校驗 GPG 簽名的Tag

4寸认、版本庫管理相關(guān)命令

命令 簡要說明
git count-objects 顯示松散對象的數(shù)量和磁盤占用
git filter-branch 版本庫重構(gòu)
git fsck 對象庫完整性檢查
git fsck-objects* 同義詞,等同于 git fsck
git gc 版本庫存儲優(yōu)化
git index-pack 從打包文件創(chuàng)建對應(yīng)的索引文件
git lost-found* 過時串慰,請使用 git fsck –lost-found 命令
git pack-objects 從標(biāo)準(zhǔn)輸入讀入對象ID偏塞,打包到文件
git pack-redundant 查找多余的 pack 文件
git pack-refs 將引用打包到 .git/packed-refs 文件中
git prune 從對象庫刪除過期對象
git prune-packed 將已經(jīng)打包的松散對象刪除
git relink 為本地版本庫中相同的對象建立硬連接
git repack 將版本庫未打包的松散對象打包
git show-index 讀取包的索引文件,顯示打包文件中的內(nèi)容
git unpack-objects 從打包文件釋放文件
git verify-pack 校驗對象庫打包文件

5邦鲫、數(shù)據(jù)傳輸相關(guān)命令

命令 簡要說明
git fetch-pack 執(zhí)行 git fetch 或 git pull 命令時在本地執(zhí)行此命令烛愧,用于從其他版本庫獲取缺失的對象
git receive-pack 執(zhí)行 git push 命令時在遠程執(zhí)行的命令,用于接受推送的數(shù)據(jù)
git send-pack 執(zhí)行 git push 命令時在本地執(zhí)行的命令掂碱,用于向其他版本庫推送數(shù)據(jù)
git upload-archive 執(zhí)行 git archive –remote 命令基于遠程版本庫創(chuàng)建歸檔時怜姿,遠程版本庫執(zhí)行此命令傳送歸檔
git upload-pack 執(zhí)行 git fetch 或 git pull 命令時在遠程執(zhí)行此命令,將對象打包疼燥、上傳

6沧卢、郵件相關(guān)命令

命令 簡要說明
git imap-send 將補丁通過 IMAP 發(fā)送
git mailinfo 從郵件導(dǎo)出提交說明和補丁
git mailsplit 將 mbox 或 Maildir 格式郵箱中郵件逐一提取為文件
git request-pull 創(chuàng)建包含提交間差異和執(zhí)行PULL操作地址的信息
git send-email 發(fā)送郵件

7、協(xié)議相關(guān)命令

Item Value
git daemon 實現(xiàn)Git協(xié)議
git http-backend 實現(xiàn)HTTP協(xié)議的CGI程序醉者,支持智能HTTP協(xié)議
git instaweb 即時啟動瀏覽器通過 gitweb 瀏覽當(dāng)前版本庫
git shell 受限制的shell但狭,提供僅執(zhí)行Git命令的SSH訪問
git update-server-info 更新啞協(xié)議需要的輔助文件
git http-fetch 通過HTTP協(xié)議獲取版本庫
git http-push 通過HTTP/DAV協(xié)議推送
git remote-ext 由Git命令調(diào)用,通過外部命令提供擴展協(xié)議支持
git remote-fd 由Git命令調(diào)用撬即,使用文件描述符作為協(xié)議接口
git remote-ftp 由Git命令調(diào)用立磁,提供對FTP協(xié)議的支持
git remote-ftps 由Git命令調(diào)用,提供對FTPS協(xié)議的支持
git remote-http 由Git命令調(diào)用剥槐,提供對HTTP協(xié)議的支持
git remote-https 由Git命令調(diào)用唱歧,提供對HTTPS協(xié)議的支持
git remote-testgit 協(xié)議擴展示例腳本

8、版本庫轉(zhuǎn)換和交互相關(guān)命令

命令 簡要說明
git archimport 導(dǎo)入Arch版本庫到Git
git bundle 提交打包和解包,以便在不同版本庫間傳遞
git cvsexportcommit 將Git的一個提交作為一個CVS檢出
git cvsimport 導(dǎo)入CVS版本庫到Git颅崩〖赣冢或者使用 cvs2git
git cvsserver Git的CVS協(xié)議模擬器,可供CVS命令訪問Git版本庫
git fast-export 將提交導(dǎo)出為 git-fast-import 格式
git fast-import 其他版本庫遷移至Git的通用工具
git svn Git 作為前端操作 Subversion

9沿后、合并相關(guān)的輔助命令

命令 簡要說明
git merge-base 供其他腳本調(diào)用沿彭,找到兩個或多個提交最近的共同祖先
git merge-file 針對文件的兩個不同版本執(zhí)行三向文件合并
git merge-index 對index中的沖突文件調(diào)用指定的沖突解決工具
git merge-octopus 合并兩個以上分支。參見 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 針對兩個分支的三向合并。參見 git merge 的recursive合并策略
git merge-resolve 針對兩個分支的三向合并漆弄。參見 git merge 的resolve合并策略
git merge-subtree 子樹合并睦裳。參見 git merge 的 subtree 合并策略
git merge-tree 顯式三向合并結(jié)果,不改變暫存區(qū)
git fmt-merge-msg 供執(zhí)行合并操作的腳本調(diào)用置逻,用于創(chuàng)建一個合并提交說明
git rerere 重用所記錄的沖突解決方案

10推沸、雜項

命令 簡要說明
git bisect–helper 由 git bisect 命令調(diào)用备绽,確認二分查找進度
git check-attr 顯示某個文件是否設(shè)置了某個屬性
git checkout-index 從暫存區(qū)拷貝文件至工作區(qū)
git cherry 查找沒有合并到上游的提交
git diff-files 比較暫存區(qū)和工作區(qū)券坞,相當(dāng)于 git diff –raw
git diff-index 比較暫存區(qū)和版本庫,相當(dāng)于 git diff –cached –raw
git diff-tree 比較兩個樹對象肺素,相當(dāng)于 git diff –raw A B
git difftool–helper 由 git difftool 命令調(diào)用恨锚,默認要使用的差異比較工具
git get-tar-commit-id 從 git archive 創(chuàng)建的 tar 包中提取提交ID
git gui–askpass 命令 git gui 的獲取用戶口令輸入界面
git notes 提交評論管理
git patch-id 補丁過濾行號和空白字符后生成補丁唯一ID
git quiltimport 將Quilt補丁列表應(yīng)用到當(dāng)前分支
git replace 提交替換
git shortlog 對 git log 的匯總輸出,適合于產(chǎn)品發(fā)布說明
git stripspace 刪除空行倍靡,供其他腳本調(diào)用
git submodule 子模組管理
git tar-tree 過時命令猴伶,請使用 git archive
git var 顯示 Git 環(huán)境變量
git web–browse 啟動瀏覽器以查看目錄或文件
git whatchanged 顯示提交歷史及每次提交的改動
git-mergetool–lib 包含于其他腳本中,提供合并/差異比較工具的選擇和執(zhí)行
git-parse-remote 包含于其他腳本中塌西,提供操作遠程版本庫的函數(shù)
git-sh-setup 包含于其他腳本中他挎,提供 shell 編程的函數(shù)庫
圖片版命令
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市捡需,隨后出現(xiàn)的幾起案子办桨,更是在濱河造成了極大的恐慌,老刑警劉巖站辉,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件呢撞,死亡現(xiàn)場離奇詭異,居然都是意外死亡饰剥,警方通過查閱死者的電腦和手機殊霞,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來汰蓉,“玉大人绷蹲,你說我怎么就攤上這事」四酰” “怎么了瘸右?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵娇跟,是天一觀的道長。 經(jīng)常有香客問我太颤,道長苞俘,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任龄章,我火速辦了婚禮吃谣,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘做裙。我一直安慰自己岗憋,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布锚贱。 她就那樣靜靜地躺著仔戈,像睡著了一般。 火紅的嫁衣襯著肌膚如雪拧廊。 梳的紋絲不亂的頭發(fā)上监徘,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天,我揣著相機與錄音吧碾,去河邊找鬼凰盔。 笑死,一個胖子當(dāng)著我的面吹牛倦春,可吹牛的內(nèi)容都是我干的户敬。 我是一名探鬼主播,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼睁本,長吁一口氣:“原來是場噩夢啊……” “哼尿庐!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起呢堰,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤抄瑟,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后暮胧,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體锐借,經(jīng)...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年往衷,在試婚紗的時候發(fā)現(xiàn)自己被綠了钞翔。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,040評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡席舍,死狀恐怖布轿,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤汰扭,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布稠肘,位于F島的核電站,受9級特大地震影響萝毛,放射性物質(zhì)發(fā)生泄漏项阴。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一笆包、第九天 我趴在偏房一處隱蔽的房頂上張望环揽。 院中可真熱鬧,春花似錦庵佣、人聲如沸歉胶。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽通今。三九已至,卻和暖如春肛根,著一層夾襖步出監(jiān)牢的瞬間辫塌,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工晶通, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留璃氢,地道東北人哟玷。 一個月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓狮辽,卻偏偏與公主長得像,于是被迫代替她去往敵國和親巢寡。 傳聞我的和親對象是個殘疾皇子喉脖,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,979評論 2 355

推薦閱讀更多精彩內(nèi)容

  • Add & Commit git init 初始化一個 Git 倉庫(repository),即把當(dāng)前所在目錄變成...
    冬絮閱讀 4,833評論 0 9
  • Git常用操作命令: 遠程倉庫相關(guān)命令檢出倉庫:$ git clone git://github.com/jque...
    pauljun閱讀 663評論 0 4
  • 以下內(nèi)容是我在學(xué)習(xí)和研究Git時抑月,對Git操作的特性树叽、重點和注意事項的提取、精練和總結(jié)谦絮,可以做為Git操作的字典题诵,...
    科研者閱讀 4,133評論 4 50
  • git常用命令 GIT常用命令備忘:http://stormzhang.com/git/2014/01/27/gi...
    新篇章閱讀 8,486評論 1 26
  • 1. 安裝 Github 查看是否安裝git: $ git config --global user.name "...
    Albert_Sun閱讀 13,661評論 9 163